Ich möchte auf einigen meiner Debian / Ubuntu-Hosts einen neuen Benutzer erstellen, der in der Lage ist, den Server mit den Befehlen apt-get update
und zu aktualisieren apt-get dist-upgrade
, aber ich möchte ihnen keinen vollständigen Sudo-Zugriff gewähren, um etwas anderes 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. Dieses Skript wird dann als Root-Benutzer ausgeführt.
permissions
sudo
privileges
Programster
quelle
quelle
man sudoers
undsudo cat /etc/sudoers
.Antworten:
Sudo
und die/etc/sudoers
Datei dient nicht nur dazu, Benutzern vollständigen Root-Zugriff zu gewähren.Sie können die sudoers-Datei mit dem Befehl mit einem vorhandenen sudo-Benutzer bearbeiten
sudo visudo
Sie können die Befehle, auf die Sie Zugriff gewähren möchten, wie folgt gruppieren:
Sie können diesen Befehlen dann bestimmte Benutzerberechtigungen zuweisen:
Dies ist im folgenden Bild zu sehen :
Wenn Sie nun versuchen ,
sudo apt-get update
odersudo apt-get dist-upgrade
diese Befehle ausführen wird nach einem Passwort , ohne zu fragen . Wenn Sie zurNOPASSWD
Eingabe eines Kennworts aufgefordert werden möchten, entfernen Sie das Bit, an dem Sie einem Benutzer Zugriff auf Befehlsgruppen gewähren.Wenn Sie versuchen, etwas anderes als das auszuführen
sudo
Benutzer , werden Sie Eingabe eines Kennworts aufgefordert und schlagen fehl.Verweise
quelle
apt-get
, oder auch nurapt-get upgrade
, gibt ihnen vollen Root - Zugriff ! In vielen Upgrade-Skripten kann der interaktive Benutzer eine Shell ausführen, beispielsweise wenn sich eine Konfigurationsdatei geändert hat. Beschränken Sie sich aus Sicherheitsgründenapt-get
auf bestimmte Befehle und erzwingen Sie, dass diese nicht interaktiv sind. Siehe Ist es für meinen ssh-Benutzer sicher, fürapt-get update
und ein passwortloses sudo zu erhaltenapt-get upgrade
?%sudo ...