スクリプトメモリに保存せずにルートpwを要求し、一部のos。*コマンドをルートとして実行することは可能ですか?
私のスクリプト
- いくつかのフォルダとファイルをスキャンして、ジョブを実行できるかどうかを確認します
- / etc/..にいくつかの変更を加えます。
- スクリプトを実行したユーザーが所有する必要のあるフォルダーとファイルを作成します
(1)通常のユーザーとして実行できます。スクリプトをsudoすることで(2)を実行できますが、(3)のフォルダーとファイルはrootになります。
問題は、os.makedirs、os.symlinkなどをたくさん使用しているため、通常のユーザーが実行できないようになっていることです。
タンク2すべての提案
これまでの解決策は次のとおりです。
# do all in sudo
os.chown(folder, int(os.getenv('SUDO_UID')), int(os.getenv('SUDO_GID')))
ヒントをくれたgnibblerに感謝します。