1

我有一个需要以超级用户身份运行的脚本:

$ sudo ./python-script.py

在这个脚本中,我做了一些其他不需要超级用户权限的事情。

$ os.mkdir('somefolder')

以非 root 用户身份创建目录的最佳/最有效方法是什么?我应该让脚本以root用户身份创建目录,然后更改它的权限吗?

4

1 回答 1

3

os.mkdir确实允许您明确指定权限:

os.mkdir(path [, mode=0777])

您还可以选择运行os.chown来设置用户和组

os.chown(path, uid, gid)

您可能可以像这样获得原始用户(但它可能是特定于平台的?)

import os
original_user = os.environ.get('SUDO_USER')
original_uid = os.environ.get('SUDO_UID')
original_gid = os.environ.get('SUDO_GID')
于 2012-07-21T06:01:39.847 回答