Einrichten von Sudo ohne Passwort auf Linux-Distributionen


18

Ich habe kürzlich beide Fedora 28- und Ubuntu 18.04-Systeme eingerichtet und möchte mein primäres Benutzerkonto auf beiden so konfigurieren, dass ich sudoBefehle ausführen kann, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

Wie kann ich das auf den jeweiligen Systemen machen?

Antworten:


28

Dies ist ziemlich trivial, wenn Sie die spezielle Unix-Gruppe verwenden, die wheelauf Fedora-Systemen aufgerufen wird. Sie müssen lediglich Folgendes tun:

  1. Fügen Sie der wheelGruppe Ihren Hauptbenutzer hinzu

    $ sudo gpasswd -a <primary account> wheel
    
  2. Aktivieren Sie NOPASSWD für die %wheelGruppe in/etc/sudoers

    $ sudo visudo
    

    Dann kommentiere diese Zeile aus:

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    Und kommentiere diese Zeile aus:

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

    Speichern Sie diese Datei mit Shift+ Z+ Z.

  3. Abmelden und wieder anmelden

    ANMERKUNG: Dieser letzte Schritt ist obligatorisch, damit Ihr Desktop und alle zugehörigen Shells der obersten Ebene erneut ausgeführt werden und angezeigt wird, dass Ihr primäres Konto jetzt Mitglied der wheelUnix-Gruppe ist.


Was würde sich ändern, wenn Sie stattdessen wheeleine andere Gruppe verwenden würden?
Giacomo Alzetta

@GiacomoAlzetta Wechseln Sie %wheelzu dieser Gruppe.
Barmar

19

Traditionell auf Debian-basierten Distributionen wie Debian / Ubuntu / Mint / Kali / Antix lautet die Standardgruppe für sudo: sudo .

Also passwortlos hinzufügen sudo Benutzer zu einem Debian-basierten System , sind die folgenden Schritte erforderlich:

  1. Installieren sudo

    Abhängig von den Installationsoptionen kommen Sie in Debian häufig ohne aus sudo standardmäßig installiert.

    Wenn das Paket sudonicht installiert ist (z. B. nicht /etc/sudoers), führen Sie es als root aus:

    # apt install sudo
    
  2. Fügen Sie den Benutzer der sudo-Gruppe hinzu

    Fügen Sie der sudo-Gruppe einen Benutzer hinzu, falls dieser noch nicht in der sudo-Gruppe enthalten ist (Ubuntu und Derivate fügen der sudo-Gruppe einen Benutzer hinzu, der bei der Installation automatisch erstellt wurde).

    Beim Einrichten des ersten sudo-Benutzers müssen Sie den ersten als root:

    # gpasswd -a <primary account> sudo
    

    Wenn Sie bereits einen sudoBenutzer haben, wird empfohlen, die anderen Benutzer in der sudo-Gruppe über diesen Benutzer einzurichten:

    $ sudo gpasswd -a <primary account> sudo
    
  3. Ändern /etc/sudoers Sie die NOPASSWD Richtlinie für das Hinzufügen

    Anschließend bearbeiten Sie die Standardzeile /etc/sudoersfür die sudoGruppe mit:

    $ sudo visudo
    

    und ändere es von:

    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    

    zu:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. Abmelden und wieder anmelden

    Wenn der Benutzer im System angemeldet ist, muss er sich abmelden und anmelden, damit die Änderung des Benutzers, der zur sudoGruppe gehört, wirksam wird.

HINWEIS: In Debian wird die Gruppe wheelhäufig verwendet, um in PAM die Verwendung suauf eine Gruppe zu beschränken, anstatt sie für den sudoBefehl wie in RedHat / SuSE-basierten Distributionen zu verwenden.

Traditionell verwenden Sie in Debian-basierten Distributionen für den sudoBefehl die sudoGruppe.


7

Die meisten Distributionen haben diese Zeile in /etc/sudoers/:

#includedir /etc/sudoers.d

Eine einfache Möglichkeit, einen Benutzer hinzuzufügen, besteht darin, eine geeignete Datei im /etc/sudoers.d/Verzeichnis zu erstellen . Normalerweise benenne ich es für den hinzuzufügenden Benutzer:

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

Möglicherweise möchten Sie Defaults:%s !lecture, !authenticate\nder Datei auch und / oder andere Optionen hinzufügen .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.