別の名前空間でプロセスを実行する

別の名前空間でプロセスを実行する

別のネットワーク名前空間で新しいプロセス(xtermなど)を実行したいと思います。これは次のように行うことができます。

sudo ip netns exec otherns sudo -u $USER xterm

sudoこのコマンドは少し複雑に見え、ip最後sudoxterm

新しい名前空間でプロセスを実行するより直接的な方法はありますか?

名前空間を切り替え、権限とユーザーを復元し、コマンドを実行できる小さな(SUIDまたは機能を有効にする)バイナリを作成しようとしていますが、これを実行できる標準ツールはすでに必要ありませんか?

これにより、次のように簡単に呼び出すことができます。

runns otherns xterm

答え1

--setuid選択できますか?nenter(1)あなたを救いに来ましたか?良い:

sudo nsenter --net=/run/netns/otherns --setuid 1000 --setguid 1000 xterm

関連情報