当前位置: 技术问答>linux和unix
Rethat Linux中 getenv 和 suid问题
来源: 互联网 发布时间:2016-11-03
本文导语: 现在又一个MySU的程序代码如下: #include ... int main() { ... lpEnv = getenv("MY_ENV"); if(NULL != lpEnv) puts(lpEnv); ... return 0; } 编译完成后生成可执行程序MySU,权限如下-rwsr-xr-x 。 root用户,设置MY_ENV环境...
现在又一个MySU的程序代码如下:
#include
...
int main()
{
...
lpEnv = getenv("MY_ENV");
if(NULL != lpEnv)
puts(lpEnv);
...
return 0;
}
编译完成后生成可执行程序MySU,权限如下-rwsr-xr-x 。
root用户,设置MY_ENV环境变量,执行时没有问题,能够正常取到MY_ENV的值。
当用其他用户登陆,设置MY_ENV环境变量,执行时,取不到MY_ENV的值。
在HPUX上测试没有任何问题。
请问Linux上怎么解决这个问题?
#include
...
int main()
{
...
lpEnv = getenv("MY_ENV");
if(NULL != lpEnv)
puts(lpEnv);
...
return 0;
}
编译完成后生成可执行程序MySU,权限如下-rwsr-xr-x 。
root用户,设置MY_ENV环境变量,执行时没有问题,能够正常取到MY_ENV的值。
当用其他用户登陆,设置MY_ENV环境变量,执行时,取不到MY_ENV的值。
在HPUX上测试没有任何问题。
请问Linux上怎么解决这个问题?
|
那为什么HP平台可以呢?
|
我在linux平台试验也是可以的
普通用户也能取得他自己的环境变量
普通用户也能取得他自己的环境变量