问题现象:
一个A用户调用另外一个B用户下的脚本时,发现执行结果不对,脚本本身没问题,B用户自己执行时输出是正常的,也在/etc/sudoers里面配置了A用户不需要输入密码执行B用户的这个脚本,然后set -x打开脚本调试,发现A用户去执行B用户的脚本时,脚本中使用到的B用户的环境变量都是空的。
解决方法:
把/etc/sudoers里面
Defaults env_reset
改为:
Defaults !env_reset
就好了,意思就是一个用户执行另外一个用户的脚本时,环境变量不被重置。