Linux下用GCC程序修改⼀etc⼀profile文件环境变量的问题

2024-11-07 03:27:13
推荐回答(3个)
回答(1):

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...

回答(2):

最简单的就是,每次想判断各个PATH是否后存在的时候干脆把profile删掉,然后写个新的进行替换。

回答(3):

问题是什么?