Ich habe eine Architektur mit Netzwerk-Namespaces (Netns). Ich möchte regelmäßigen Benutzern erlauben, einige Operationen in diesen Netzen durchzuführen.
Ich könnte ein Skript schreiben netns-exec.sh
, das von diesem Beitrag inspiriert ist und Folgendes sudo
enthält:
ip netns exec $1 su $USER -c "$2"
und zu meiner sudoer-Datei hinzufügen:
user ALL=(ALL) /path/to/netns-exec.sh
Aber ich finde es so hässlich, dass ich Albträume haben könnte. Gibt es eine bessere Lösung, um regulären Benutzern die Verwendung von Namespaces zu ermöglichen? Ist es möglich, Benutzer einigen nützlichen Gruppen zuzuordnen? Ich habe danach gesucht, aber nichts gefunden.
sudo
Inhalt su
, der mich nervt, nicht das Drehbuch selbst. Wie auch immer, ich werde ein Skript schreiben, um das Ding zu verpacken. Es macht 2 Benutzerwechsel, das ist wirklich hässlich, findest du nicht?
sudo
es sich um eine bestimmte Variable handelt $SUDO_USER
, die sicherer ist. Aber das ist immer noch hässlich.
Cmd_Alias CMD_NETNS = ip netns exec [regexp matching your namespace] su [regexp matching allowed used] -c [regexp matching allowed namespace command]
in Ihrer sudoers-Datei und erstellen dann eine Gruppe, in die Sie Ihre zulässigen Benutzer einfügen, und ordnen Sie diese Gruppe diesem Befehlsalias zu.