it-swarm.com.de

Ermöglichen Sie bestimmten Gästen, bestimmte Befehle auszuführen

Ich möchte auf einigen meiner Debian/Ubuntu-Hosts einen neuen Benutzer erstellen, der den Server mit den Befehlen apt-get update Und apt-get dist-upgrade Aktualisieren kann, aber ich möchte sie nicht angeben Voller Sudo-Zugang, um alles andere tun zu können. Ist das möglich? Vielleicht gibt es eine Möglichkeit, ein Skript zu erstellen, das sie nicht bearbeiten, aber ausführen können und das als Root-Benutzer ausgeführt wird?

20
Programster

Sudo und die Datei /etc/sudoers dienen nicht nur dazu, Benutzern vollen Root-Zugriff zu gewähren.

Sie können die sudoers-Datei mit einem vorhandenen Sudo-Benutzer mit dem Befehl Sudo visudo Bearbeiten.

Sie können die Befehle, auf die Sie Zugriff gewähren möchten, wie folgt gruppieren:

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get

Sie können diesen Befehlen dann bestimmte Benutzerrechte zuweisen, z. B.:

[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS

Dies ist im Bild unten zu sehenenter image description here::

Wenn Sie nun Sudo apt-get update Oder Sudo apt-get dist-upgrade Versuchen, werden diese Befehle ausgeführt , ohne nach einem Kennwort zu fragen . Wenn Sie zur Eingabe eines Kennworts aufgefordert werden möchten, entfernen Sie das Bit NOPASSWD, mit dem Sie einem Benutzer Zugriff auf Befehlsgruppen gewähren.

Wenn Sie versuchen, etwas anderes als Sudo Benutzer auszuführen, werden Sie zur Eingabe eines Kennworts aufgefordert und schlagen fehl.

Verweise

33
Programster