如何从使用pkexec运行的脚本中获取当前用户名?

时间:2017-03-14 00:36:01

标签: python linux python-2.7

我正在使用pkexec以root身份执行python脚本,我使用working_dir = os.getenv('HOME')来获取用户名,但它总是返回root而不是test1,这是当前用户。

如何让代替运行pkexec的用户?

如果该信息有用,则脚本位于/ usr / bin中。

2 个答案:

答案 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