it-swarm.com.de

Einrichten von passwortlosem Sudo unter Linux-Distributionen

Ich habe kürzlich sowohl Fedora 28- als auch Ubuntu 18.04-Systeme eingerichtet und möchte mein primäres Benutzerkonto auf beiden konfigurieren, damit ich Sudo -Befehle ausführen kann, ohne zur Eingabe eines Kennworts aufgefordert zu werden.

Wie kann ich das auf den jeweiligen Systemen machen?

18
slm

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

  1. Fügen Sie Ihren Hauptbenutzer der Gruppe wheel hinzu

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

    $ Sudo visudo
    

    Dann kommentieren Sie diese Zeile aus:

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

    Und kommentieren Sie 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

    HINWEIS : Dieser letzte Schritt ist obligatorisch, damit Ihr Desktop und alle entsprechenden Shells der obersten Ebene erneut ausgeführt werden. Dies zeigt, dass Ihr primäres Konto jetzt Mitglied der Unix-Gruppe wheel ist.

28
slm

Traditionell auf Debian-basierten Distributionen wie Debian/Ubuntu/Mint/Kali/Antix ist die Standardgruppe für Sudo Sudo.

Um passwortlose Sudo -fähige Benutzer zu einem Debian-basierten System hinzuzufügen, sind die Schritte:

  1. Installieren Sie Sudo

    In Debian wird abhängig von den Installationsoptionen häufig standardmäßig Sudo installiert.

    Wenn das Paket Sudo nicht installiert ist (z. B. haben Sie nicht /etc/sudoers), als root ausführen:

    # 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 zur Sudo-Gruppe gehört (Ubuntu und Derivate fügen der Sudo-Gruppe automatisch einen Benutzer hinzu, der bei der Installation erstellt wurde).

    Wenn Sie den ersten Sudo-Benutzer einrichten, müssen Sie den ersten als root:

    # gpasswd -a <primary account> Sudo
    

    Wenn Sie bereits einen Sudo Benutzer haben, wird als gute Sicherheitspraxis empfohlen, die anderen Benutzer in der Sudo-Gruppe über diesen Benutzer einzurichten:

    $ Sudo gpasswd -a <primary account> Sudo
    
  3. Ändern Sie /etc/sudoers zum Hinzufügen der NOPASSWD-Direktive

    Anschließend bearbeiten Sie die Standardzeile in /etc/sudoers für die Gruppe Sudo mit:

    $ Sudo visudo
    

    und ändern Sie 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 er im System angemeldet ist, muss sich der beabsichtigte Benutzer abmelden und anmelden, damit die Änderung des Benutzers, der zur Gruppe Sudo gehört, wirksam wird.

HINWEIS : In Debian wird die Gruppe wheel häufig verwendet, um in PAM die Verwendung von su auf eine Gruppe zu beschränken, anstatt sie für Sudo wie bei RedHat/SuSE-basierten Distributionen.

Traditionell verwenden Sie in Debian-basierten Distributionen für den Befehl Sudo die Gruppe Sudo.

20
Rui F Ribeiro

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 Verzeichnis /etc/sudoers.d/ Zu erstellen. Normalerweise benenne ich es für den Benutzer, der hinzugefügt werden soll:

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 der Datei auch Defaults:%s !lecture, !authenticate\n Und/oder andere Optionen hinzufügen.

7
Toby Speight

Alternativ können Sie das Paket Python pudo ) verwenden.

Installation:

user$ Sudo -H pip3 install pudo # you can install using pip2 also

Unten finden Sie das Code-Snippet für die Verwendung in python Automatisierung zum Ausführen von Befehlen unter Root-Berechtigung ::

user$ python3 # or python2
>>> import pudo
>>> (ret, out) = pudo.run(('ls', '/root')) # or pudo.run('ls /root')
>>> print(ret)
>>> 0
>>> print(out)
>>> b'Desktop\nDownloads\nPictures\nMusic\n'

Unten finden Sie das cmd-Beispiel zum Ausführen von Befehlen unter Root-Berechtigungen

user$ pudo ls /root
Desktop  Downloads  Pictures  Music
1