
/etc/profile是在启动一个交互登陆shell的时候被调用(通过/bin/login登陆,TTY上的开机登录就是这个)
/etc/bashrc则是在一个交互的非登陆shell启动的时候被调用(通过命令行运行,例如在命令行输入bash)
所以怎么设置就要看需要,一般来说,像这种设置工具链的环境变量,设置在/etc/profile里会更加好。
export是一个用于设置环境变量的指令,但是BASH支持直接设置,所以如果你的机器是BASH作为shell的话(一般Linux都是的),可以不使用export。
pathmunge也是一个指令,是一个直接用于添加路径到PATH环境变量的指令。
linux中的gcc环境已经配置好了啊,你应该问的是交叉编译器吧,一般是配置PATH环境变量,在/etc/profile或~/.bashrc里添加 export PATH=编译器绝对路径/编译器文件名:$PATH,各种库包括C++的调用交叉编译器已提供,只需注意Makefile里指定-L使用交叉编译器的库即可。1:直接用shell脚本不行?grep + cat +sudo + ...2:再说不就是个JAVA_HOME吗?二进制程序去修改很不安全,跟病毒似的!
我是不会去运行那些会修改系统重要文件的来路不明的二进制代码的。
3:再说各有各的JAVA_HOME,你不具备修改的权利,用户才有。
你可以在运行你的程序前设定用户环境变量,
但你是没有权利去修改系统配置文件的。
总结:多看看别人怎么做的,不要动不动就C语言实现还要带源码的。
补充:应用程序权限取决于用户的权限,如果是普通用户的话是不可能得到对/etc/profile文件的写 *** 作权限的。
如果一意孤行要用普通用户取得/etc/profile的权限,好像大概可以这么做(年代久远,记不清楚了)
1:先开启一个会话(session),忘了什么函数了
2:(通过某种安全机制漏洞?)调用setuid一类的函数
3:调用哪个函数后大概就取得了最高权限
此外,还有种种的漏洞可以让你获得权限,具体要订阅安全新闻。
所以结论就是:
1:如果用户本身就是root账户登录的,不需要去特意去的权限
2:如果用户帐户是普通权限且在sudoer列表中,可调用sudo
3:Hacking...
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)