Frage Wie installiere ich passwortloses `sudo` unter Linux?


Wie kann passwortlos sudo Zugriff auf RHEL (Fedora, CentOS, etc) oder Ubuntu-Distributionen eingerichtet werden? (Wenn es über Distributionen gleich ist, ist das noch besser!)

Einstellung: Personal- und / oder Labor- / Trainingsgeräte, ohne sich um unbefugten Zugriff kümmern zu müssen (dh die Geräte befinden sich in nicht-öffentlichen Netzwerken und alle / alle Benutzer sind voll vertrauenswürdig und die Inhalte der Geräte sind "plain-vanilla") .


136
2017-07-15 04:09


Ursprung


Die Antwort von @Richipal ist actullay, die am besten mit der geringsten Anstrengung funktioniert: Es scheint, dass Sudoers Regeln in umgekehrter Reihenfolge gelten. - a1an
@ a1an-Regeln werden in derselben Reihenfolge angewendet wie in der sudoers-Datei, und wenn sie angewendet werden, überschreiben sie sich gegenseitig. Wenn ich also nicht möchte, dass sich eine Regel überhaupt ändert, würde ich sie gegen Ende der Datei setzen, so dass sie zuletzt angewendet wird und nicht überschrieben werden kann. - rsjethani


Antworten:


BEARBEITEN Danke an Medinas Kommentar: Laut der Manpage sollten Sie in der Lage sein zu schreiben

ALL            ALL = (ALL) NOPASSWD: ALL

Damit alle Benutzer alle Befehle ohne Passwort ausführen können.


Als Referenz verlasse ich meine vorherige Antwort:

Wenn Sie eine Zeile des Formulars hinzufügen

%wheel         ALL = (ALL) NOPASSWD: ALL

zu /etc/sudoers (Verwendung der visudo Befehl, natürlich), wird es jeden in der Gruppe lassen wheel Führen Sie alle Befehle aus, ohne ein Passwort anzugeben. Ich denke, die beste Lösung besteht darin, alle Ihre Benutzer in eine Gruppe zu stellen und eine solche Zeile zu setzen sudoers - offensichtlich sollten Sie ersetzen wheel mit der tatsächlichen Gruppe, die Sie verwenden.

Alternativ können Sie einen Benutzeralias definieren,

User_Alias     EVERYONE = user1, user2, user3, ...

und benutze das:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

obwohl du aktualisieren müsstest /etc/sudoers jedes Mal, wenn Sie einen Benutzer hinzufügen oder entfernen.


151
2017-07-15 04:25



Nicht ALL arbeite lieber als * um alle Benutzer anzugeben? Siehe das Beispiel in sudoers(5). - medina
@medina: So ist es, das habe ich vermisst, als ich die Manpage gelesen habe. Ich werde bearbeiten. - David Z
unter Ubuntu, erstellen Sie eine Datei unter / etc / sudoers.d und legen Sie diese Einträge in sie dann wird es aufhören Sie sudoers bearbeiten müssen - Xetius
In CentOS7 ist dieser Eintrag standardmäßig vorhanden, nur auskommentiert. - killjoy
Nur geschafft, es in CentOS durch Kopieren / Einfügen zu verwenden, fehlgeschlagen bei jedem Versuch, die Konfiguration direkt einzugeben. Aber das Ergebnis scheint bis auf Leerzeichen identisch zu sein ... - MUY Belgium


Ich habe die obigen Lösungen vergeblich versucht. Die folgende Lösung hat für mich funktioniert Bearbeiten Sie die Datei / etc / sudoers und fügen Sie die folgende Zeile hinzu

username ALL=(ALL) NOPASSWD: ALL

Das Schlüssel ist es nach der letzten Zeile hinzuzufügen, die sagt

#includedir /etc/sudoers.d

81
2018-05-19 15:23



//, Dies scheint der bessere Weg zu sein, insbesondere wenn bestimmte Anwendungen ihre eigenen Regeln für Systembenutzer, Richipal, hinzufügen. Weitere Informationen zu sudoers.d: sudo.ws/man/1.8.13/sudoers.man.html - Nathan Basanese
//, Würden Sie bereit sein, einige der Diagnosen von Gearoid Murphy zu Ihrer Antwort hinzuzufügen? - Nathan Basanese
Danke für diese Klarstellung. Das Hinzufügen nach der Zeile #includedir /etc/sudoers.d scheint in CentOS 7 wichtig zu sein, während es scheint, dass es gut ist, die Zeile früher in der Datei in CentOS 6 zu haben. - dmohr
Das Problem mit dem NOPASSWD von% wheel scheint zu entstehen /etc/sudoers.d/USERNAME Überschreiben der NOPASSWD-Berechtigung der Gruppe. Anwenden von NOPASSWD in /etc/sudoers.d/USERNAME behebt das Problem. - eel ghEEz


Ich habe alle Antworten auf dieser Seite versucht, ohne nützliche Ergebnisse. Irgendwann habe ich es herausgefunden, benutze diesen Befehl, um deine Sudo-Rechte aufzulisten:

sudo -l

Dies sollte Ihnen eine Ausgabe wie folgt geben:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Es zeigt, dass ich mit Root-Rechten konfiguriert bin, aber immer noch Teil einer Gruppe (admin) bin, die mit einer sudo-Regel übereinstimmt, die das Passwort erwartet ("(ALL) ALL"). Das zwang sudo dazu, mich zu fragen. Die fragliche Regel waren die Admin-Benutzer:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Sobald ich dies kommentiert habe, konnte ich ohne Passwort sudo. Ich hoffe, dass dies für jemand anderen von Nutzen ist.


24
2017-11-06 12:57



Ahhh, danke! Das hat mich verrückt gemacht ... in meinem Fall war mein Benutzer Teil der "sudo" -Gruppe sowie "admin" (was ich erstellt habe), und die Berechtigungen für beide waren falsch angepasst, wie in Ihrem Fall . Jetzt funktioniert das Zeug! :) - neezer
Ein Line Out zu kommentieren ist ein stumpfes Instrument. Vielleicht interessiert es Sie zu hören, dass "sudo die sudoers-Datei liest und die Berechtigungen in der Reihenfolge von oben nach unten anwendet. So wird die letzte Zeile in der Datei jeden vorherigen Konflikt überschreiben" ubuntuforums.org/showthread.php?t=1132821 - und das hat für mich funktioniert. - David J.


Innerhalb /etc/sudoers Es gibt ein Beispiel für genau das am Ende der Datei:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

9
2017-07-15 04:24



diese Probe war nicht in meiner - aber danke! - warren
Wie deine prägnante Antwort - Pei


Es gibt eine andere Möglichkeit, dies zu tun, ohne die sudoers-Datei zu berühren.

  • Bearbeiten /etc/pam.d/su und die folgende Zeile auskommentieren:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Fügen Sie den Benutzer dem hinzu wheel Gruppe.


5
2017-07-15 08:39





Es gibt eine andere Möglichkeit, dies zu tun, ohne die sudoers-Datei zu berühren.

  • Bearbeiten /etc/pam.d/sudo und füge die folgende Zeile hinzu:

    Auth ausreichend pam_wheel.so vertrauen use_uid
  • Fügen Sie den Benutzer dem hinzu wheel Gruppe.

Reagiert auf "topdog" und "Daniel Serodio" für die ursprüngliche Antwort in Bezug auf "su" statt "sudo". Ich benutzte das als Referenz und schamlos kopierte und änderte ihren Beitrag.


1
2017-09-11 00:36



Ich denke, anstatt wörtlich zu kopieren, wäre es besser, sie zu kreditieren, aber sei dir im Klaren darüber, wie genau deine Antworten sich unterscheiden. Ich nehme an, dies ermöglicht passwortlos su, anstatt / so gut wie passwortlos sudo? Daniels Ergänzung ist übrigens nur Formatierung. - mwfearnley