我的问题:我有一个Python程序,用户使用来启动它sudo
。有时我必须要到用户的家,而我只能知道它的名字才能做到这一点:
import pwd
pwd.getpwnam(username)
那么:如何获得启动该程序的用户名?
谢谢你的建议。好的,我将设置
—
rubik 2011年
euid
为SUDO_UID
。
sudo
树叶HOME
环境变量不变(这可以在编译期或运行时被覆盖)。但是您可能无法使用环境变量,这取决于用户指定不同值HOME
(如果bob运行时是HOME=/home/joe sudo your_script
什么?)时要发生的情况。在进行任何文件系统访问之前(除了实际需要脚本中的root许可的用户之外),您可能应该将euid设置为调用用户(由给予SUDO_UID
)。