Sudoers Befehl

481
Pedro Macedo Vilas

Ich kann den Unterschied zwischen diesen beiden Befehlen nicht verstehen

USER ALL=(ALL) NOPASSWD: ALL UND USER ALL=(OTHERUSER) NOPASSWD: ALL

Kann jemand das erklären () ändern? Vielen Dank

0

1 Antwort auf die Frage

0
Kamil Maciorowski

Von man 5 sudoers:

Die Grundstruktur einer Benutzerspezifikation ist who where = (as_whom) what.

Und

Das reservierte Wort ALList ein integrierter Alias, der immer dazu führt, dass eine Übereinstimmung erfolgreich ist.

In Ihrem Fall liegt der Unterschied im (as_whom)Feld:

  • (ALL)bedeutet, dass es möglich ist USER, Befehle wie jeder Benutzer auszuführen.
  • (OTHERUSER)bedeutet, dass es möglich ist USER, Befehle als OTHERUSER(zB sudo -u OTHERUSER whoami) auszuführen .

    Beachten Sie, dass dies nicht bedeutet USER, dass Befehle nicht ausgeführt werden können YETANOTHERUSER. Wenn USERversucht wird, etwas als auszuführen, stimmt YETANOTHERUSERdie Zeile mit (OTHERUSER)nicht überein und der Parser wird fortgesetzt. einige spätere Zeile kann übereinstimmen.

Der "USER" kann also Sudo-Befehle als "OTHERUSER" -Name ausführen oder hat nur die Berechtigungen des "OTHERUSER" ?. Pedro Macedo Vilas vor 5 Jahren 0
@PedroMacedoVilas Der Benutzer wählt aus, wer sich explizit mit `sudo -u chosen_user some_command` ausgeben soll, wie in dem Beispiel, das ich meiner Antwort hinzugefügt habe. Wenn der Benutzer "some_command" als "selected_user" ausführen darf, wird der Befehl mit den Zugriffsrechten von "chosen_user" ausgeführt. Kamil Maciorowski vor 5 Jahren 0