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 に答える