Ich kann den Unterschied zwischen diesen beiden Befehlen nicht verstehen
USER ALL=(ALL) NOPASSWD: ALL UND USER ALL=(OTHERUSER) NOPASSWD: ALL
Kann mir jemand die () Änderung erklären? Vielen Dank
Ich kann den Unterschied zwischen diesen beiden Befehlen nicht verstehen
USER ALL=(ALL) NOPASSWD: ALL UND USER ALL=(OTHERUSER) NOPASSWD: ALL
Kann mir jemand die () Änderung erklären? Vielen Dank
Antworten:
Von man 5 sudoers:
Die Grundstruktur einer Benutzerspezifikation ist
who where = (as_whom) what.
Und
Das reservierte Wort
ALList ein integrierter Alias, durch den eine Übereinstimmung immer erfolgreich ist.
In Ihrem Fall liegt der Unterschied in (as_whom) Feld:
(ALL) bedeutet, es ist möglich für USER Befehle als jeder Benutzer ausführen. (OTHERUSER) bedeutet, es ist möglich für USER Befehle ausführen als OTHERUSER (z.B. sudo -u OTHERUSER whoami ).
Beachten Sie, dass es nicht bedeutet USER Befehle können nicht ausgeführt werden als YETANOTHERUSER. Ob USER versucht etwas wie laufen zu lassen YETANOTHERUSER dann die Zeile mit (OTHERUSER) passt nicht zusammen und der Parser wird fortgesetzt; Einige spätere Zeilen stimmen möglicherweise überein.
sudo -u chosen_user some_command, wie im Beispiel, das ich zu meiner Antwort hinzugefügt habe. Wenn der Benutzer ausgeführt werden darf some_command wie chosen_user Dann wird der Befehl mit den Rechten von ausgeführt chosen_user.
USERkann sudo Befehle ausführen alsOTHERUSERName oder wird nur die Privilegien der habenOTHERUSER?