Kann ich einem einzelnen Nicht-Sudo-Benutzer Zugriff erteilen, um einen einzelnen Befehl ohne Sudo auszuführen?

Kann ich einem einzelnen Nicht-Sudo-Benutzer Zugriff erteilen, um einen einzelnen Befehl ohne Sudo auszuführen?

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/sudoersDatei und /etc/sudoers.dVerzeichnis 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.dSie 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 rootauf 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_userzu arbeiten.catchmod

Nachdem Sie eine Datei erstellt haben, /etc/sudoers.dsollten 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, visudozum 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 sudoersWeitere Einzelheiten und erweiterte Beispiele finden Sie unter

verwandte Informationen