在sudo -u加载环境variables

我有一个名为www-app的用户,它的.bashrc文件中设置了一些环境variables。 现在从另一个用户,说ubuntu如何运行sudo -u www-app python script.py并将加载用户www-app所有环境variables?

所以在我的脚本中,我可以访问像

 import os print os.environ['MY_VAR'] 

运行sudo -i

-i(模拟初始login)选项运行由目标用户的密码数据库条目指定的shell作为loginshell。 这意味着特定于login的资源文件(如.profile或.login)将被shell读取。

和往常一样,你可以指定一个命令来运行。

您必须执行一个shell作为目标用户,然后让shell启动最终的脚本:

 sudo -u www-app bash -ic "python script.py"