18

userArootアクセスの場合と同じようにスクリプトを実行しています。このスクリプトから呼び出しを行い、とpopen()は異なるプロセスを実行しますuserB

os.setuid()はこれでは機能しないようです(私がこれを間違って行っていない限り?)、そして私は次のようなLinuxベースのソリューションを避けたいと思いますsu -userB -c <command>

userBスクリプトの実行中のようにプロセスを実行するPythonの方法はありuserAますか?

4

1 に答える 1

12

次の答えはこれに対して本当に素晴らしいアプローチを持っています:https ://stackoverflow.com/a/6037494/505154

そこには実用的なコード例がありますが、要約は、サブプロセスの環境をセットアップして、別のユーザーとして実行されるようにするために使用することですsubprocess.Popen()preexec_fn

于 2012-12-11T18:43:58.747 に答える