Ist es möglich, einem einzelnen Benutzer ohne Sudo-Zugriff die Möglichkeit zu geben, einen durch Sudo geschützten Befehl wie auszuführen chmod
?
Antwort1
sudoKonfigurationsdateien werden in /etc/sudoers
Datei und /etc/sudoers.d
Verzeichnis gespeichert. Es ist vorzuziehen, eine Datei hinzuzufügen,mit dem gleichen Namen wie der BenutzerSie möchten das Sudo für festlegen, obwohl /etc/sudoers.d
Sie es auch bearbeiten können /etc/sudoers
.
Die grundlegende Syntax istwer wo = (als_wen) was
Zum Beispiel:
root ALL = (ALL:ALL) ALL
bedeutet, dass der Benutzer root
auf jedem Host (ALL = ) als jeder Benutzer:Gruppe (ALL:ALL) jeden Befehl (ALL) ausführen kann.
In Ihrem Fall müssen Sie etwa Folgendes tun:
echo "ltd_user ALL=NOPASSWD:/bin/cat, PASSWD:/bin/chmod" > /etc/sudoers.d/ltd_user
Damit erhalten Sie die Rechte , auf jedem Host als beliebiger Benutzer ohne oder nach Eingabe des Passworts ltd_user
zu arbeiten.cat
chmod
Nachdem Sie eine Datei erstellt haben, /etc/sudoers.d
sollten Sie die Berechtigung auf 440 setzen
chmod 440 /etc/sudoers.d/ltd_user
Beachten Sie auch, dass ich ein sehr einfaches Beispiel angegeben habe (und daher Echo und Umleitung verwendet habe). Es empfiehlt sich jedoch, visudo
zum Bearbeiten von Sudo-Konfigurationsdateien einen Befehl zu verwenden. Dadurch wird sichergestellt, dass immer nur eine Person die Datei bearbeitet, die über die entsprechenden Berechtigungen verfügt und das Ausgeben der Datei und Beenden verweigert, wenn die vorgenommenen Änderungen Syntaxfehler enthalten.
visudo -f /etc/sudoers.d/ltd_user
man sudoers
Weitere Einzelheiten und erweiterte Beispiele finden Sie unter