Sudoers Befehl

0

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

Pedro Macedo Vilas
quelle

Antworten:

0

Von man 5 sudoers:

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

Und

Das reservierte Wort ALL ist 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.

Kamil Maciorowski
quelle
Also die USER kann sudo Befehle ausführen als OTHERUSER Name oder wird nur die Privilegien der haben OTHERUSER?
Pedro Macedo Vilas
@PedroMacedoVilas Der Benutzer wählt aus, mit wem er sich explizit ausgibt 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.
Kamil Maciorowski