ネットワーク名前空間(netns)を使用するアーキテクチャがあります。通常のユーザーがこれらのネットワークでいくつかの操作を行えるようにしたいと思います。
この投稿にnetns-exec.sh
触発され、実行されたスクリプトを記述できます:sudo
ip netns exec $1 su $USER -c "$2"
私のsudoerファイルに追加します:
user ALL=(ALL) /path/to/netns-exec.sh
しかし、私はそれが非常にいので、それについて完全に悪夢を抱く可能性があります。通常のユーザーが名前空間を使用できるようにするより良いソリューションはありますか?ユーザーをいくつかの有用なグループに入れることは可能ですか?私はそれについて検索しましたが、何も見つかりませんでした。
私を悩ますのは、スクリプト自体ではなく、
—
ラズベガイ
sudo
含まれているa su
です。とにかく、物をラップするスクリプトを書きます。それは2つのユーザースイッチを作ります、それは本当にいです、あなたは思いませんか?
それはあなたを怖がらせる必要があります。ユーザーは、$ USERを変更してrootにすることができます。
—
スティーブン
はい、それは私を怖がらせます。しかし
—
Raspbeguy
sudo
、後で特定の変数を提供することがわかりました$SUDO_USER
。これはより安全です。しかし、それはまだいです。
@Elronnd-カーネルがスクリプトのsetuidを無視する
—
アンジェロ
Cmd_Alias CMD_NETNS = ip netns exec [regexp matching your namespace] su [regexp matching allowed used] -c [regexp matching allowed namespace command]
sudoersファイルで定義してから、許可されたユーザーを置くグループを作成し、このグループをこのコマンドエイリアスに関連付けるのか。