我有一个名为的用户www-app
,其文件上设置了一些环境变量.bashrc
。现在从另一个用户那里,ubuntu
我该如何运行sudo -u www-app python script.py
并加载该用户的所有环境变量www-app
?
因此,在我的脚本中我可以访问类似以下内容:
import os
print os.environ['MY_VAR']
答案1
跑步sudo -i
:
‑i(模拟初始登录)选项将目标用户的密码数据库条目指定的 shell 作为登录 shell 运行。这意味着 shell 将读取登录特定的资源文件(例如 .profile 或 .login)。
和往常一样,您可以指定要运行的命令。
答案2
您必须以目标用户身份执行 shell,并让 shell 启动最终脚本:
sudo -u www-app bash -ic "python script.py"