Python以root身份和/ home文件夹运行脚本

时间:2014-04-20 19:26:53

标签: python unix root

我的/ home文件夹有root问题。这是我的剧本:

home = os.path.expanduser("~")
print home             # home is good: /home/guillaume

# gksudo
euid = os.geteuid()
if euid != 0:
    print "Running sudo.."
    args = ['gksudo', sys.executable] + sys.argv + [os.environ]
    os.execlpe('gksudo', *args)
print home            # home has changed: /root

gksudo运行后如何获得好/家?感谢

编辑:我已经尝试了

subprocess.call(['gksudo', 'script.py'])

脚本已启动,但脚本内的操作不在root

1 个答案:

答案 0 :(得分:3)

sudo为进程设置了许多环境变量;请参阅man sudo以获取列表。在这种情况下,您可以使用SUDO_USER

# from under sudo
home = os.path.expanduser(os.environ["SUDO_USER"])