我正在使用pkexec
以root身份执行python脚本,我使用working_dir = os.getenv('HOME')
来获取用户名,但它总是返回root而不是test1,这是当前用户。
如何让代替运行pkexec
的用户?
如果该信息有用,则脚本位于/ usr / bin中。
答案 0 :(得分:4)
The sudo
man page描述了包含调用它的用户信息的环境变量。
import os
print os.environ["SUDO_USER"]
答案 1 :(得分:0)
感谢另一个人,最后,下面是我为当前用户所做的工作:
import os
import pwd
user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/' + user