スーパーユーザーとして実行する必要のあるスクリプトがあります。
$ sudo ./python-script.py
このスクリプト内で、スーパーユーザー権限を必要としない他のいくつかのことを行います。
$ os.mkdir('somefolder')
非rootユーザーとしてディレクトリを作成するための最良/最も効率的な方法は何ですか?スクリプトにrootユーザーとしてディレクトリを作成させてから、その権限を変更する必要がありますか?
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')