別のネットワーク名前空間で新しいプロセス(xtermなど)を実行したいと思います。これは次のように行うことができます。
sudo ip netns exec otherns sudo -u $USER xterm
sudo
このコマンドは少し複雑に見え、ip
最後sudo
。xterm
新しい名前空間でプロセスを実行するより直接的な方法はありますか?
名前空間を切り替え、権限とユーザーを復元し、コマンドを実行できる小さな(SUIDまたは機能を有効にする)バイナリを作成しようとしていますが、これを実行できる標準ツールはすでに必要ありませんか?
これにより、次のように簡単に呼び出すことができます。
runns otherns xterm
答え1
--setuid
選択できますか?nenter(1)あなたを救いに来ましたか?良い:
sudo nsenter --net=/run/netns/otherns --setuid 1000 --setguid 1000 xterm