userA
rootアクセスの場合と同じようにスクリプトを実行しています。このスクリプトから呼び出しを行い、とpopen()
は異なるプロセスを実行しますuserB
。
os.setuid()はこれでは機能しないようです(私がこれを間違って行っていない限り?)、そして私は次のようなLinuxベースのソリューションを避けたいと思いますsu -userB -c <command>
userB
スクリプトの実行中のようにプロセスを実行するPythonの方法はありuserA
ますか?
次の答えはこれに対して本当に素晴らしいアプローチを持っています:https ://stackoverflow.com/a/6037494/505154
そこには実用的なコード例がありますが、要約は、サブプロセスの環境をセットアップして、別のユーザーとして実行されるようにするために使用することですsubprocess.Popen()
。preexec_fn