Wie hat der ubuntu
Benutzer auf den AWS-Images für Ubuntu Server 12.04 sudo
für alle Befehle kein Passwort , wenn keine Konfiguration dafür vorhanden ist /etc/sudoers
?
Ich verwende Ubuntu Server 12.04 auf Amazon. Ich möchte einen neuen Benutzer hinzufügen, der das gleiche Verhalten wie der Standardbenutzer von Ubuntu aufweist. Speziell möchte ich sudo
für diesen neuen Benutzer passwortfrei .
Also habe ich einen neuen Benutzer hinzugefügt und bin zum Bearbeiten /etc/sudoers
gegangen (natürlich mit Visudo). Nach dem Lesen dieser Datei hatte der Standardbenutzer den Eindruck, dass er kein ubuntu
Passwort mehr hat, sudo
weil er Mitglied der admin
Gruppe ist. Also habe ich meinen neuen Benutzer hinzugefügt. Welches hat nicht funktioniert. Dann habe ich versucht, die NOPASSWD
Direktive hinzuzufügen sudoers
. Was auch nicht geklappt hat.
Jedenfalls bin ich jetzt nur neugierig. Wie funktioniert das ubuntu
bekommen Benutzer passwordless Privilegien , wenn sie in nicht definiert sind /etc/sudoers
. Was ist der Mechanismus, der dies ermöglicht?
Antworten:
Okay, ich habe die Antwort gefunden, daher kann ich sie der Vollständigkeit halber hier einfügen. Am Ende
/etc/sudoers
ist, was ich dachte, nur ein Kommentar:Dies schließt jedoch tatsächlich den Inhalt dieses Verzeichnisses ein. Darin befindet sich die Datei
/etc/sudoers.d/90-cloudimg-ubuntu
. Welches hat den erwarteten InhaltHier befindet sich also die Sudo-Konfiguration für den Standard-Ubuntu-Benutzer.
Sie sollten diese Datei mit visudo bearbeiten. Mit dem folgenden Befehl können Sie die richtige Datei mit visudo bearbeiten.
Und füge eine Zeile hinzu wie:
Am Ende.
quelle
/etc/sudoers.d/90-cloud-init-users
(so zu bearbeiten ..sudo visudo -f /etc/sudoers.d/90-cloud-init-users
). Es wäre zwar sauberer, zusätzliche Dateien zu erstellen, als die generierten zu bearbeiten. Beachten Sie, dass Dateien , die ein enthält ,.
oder der Endung~
wird nicht enthalten sein.Ich stellte fest, dass das einfachste Verfahren, um dieses Verhalten auf mehreren Servern zu replizieren, das Folgende ist:
Ändern Sie diese Zeile:
zu dieser Zeile:
Und verschiebe es unter diese Zeile:
du solltest jetzt folgendes haben:
dann für jeden Benutzer, der sudo-Zugriff mit einem Passwort benötigt :
und für jeden Benutzer, der sudo-Zugang OHNE Passwort benötigt :
Führen Sie zum Schluss Folgendes aus:
Und das ist es!
Bearbeiten: Möglicherweise müssen Sie die Administratorgruppe hinzufügen, da ich glaube, dass sie nicht standardmäßig vorhanden ist.
Sie können
ubuntu
deradmin
Gruppe auch den Standard-AWS- Benutzer mit dem folgenden Befehl hinzufügen :Hinweis: Wie @hata bereits erwähnt, müssen Sie möglicherweise den
adm
Namen Ihrer Administratorgruppe angeben , je nachdem, welche Ubuntu-Version verwendet wird.quelle
Ich würde meine eigene Datei im Verzeichnis /etc/sudoers.d/ erstellen. Die von Amazon Cloud erstellte Datei wird möglicherweise bei einem Update überschrieben. Nachdem Sie Ihre Datei in /etc/sudoers.d erstellt haben, fügen Sie diesen Eintrag hinzu.
Starten Sie das System neu und das wird funktionieren.
quelle
Kurze Antwort ohne Verwendung eines Editors (auf Bash getestet, sehr riskant auf Remote-Hosts auszuführen).
Konfigurieren Sie sudo so, dass es für den aktuellen Benutzer ohne Kennwort funktioniert:
Überprüfen Sie die Bearbeitung mit:
Überprüfen Sie, ob Sie sudo ohne Passwort verwenden können:
... oder einfach mal probieren mit:
quelle
echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers
visudo
ist besonders schön , wenn Sie nicht zulassen, dass die sudoers-Datei beschädigt wird, sodass Sie nicht von Ihrem Computer ausgeschlossen werden (oder zumindest sudo).visudo
, aber normalerweise nicht aus Versehen, davisudo
nur Änderungen gespeichert werden, die gemäß der Grammatik für sudoers-Dateien wohlgeformt sind . Die meisten Fehler sind syntaktisch falsch und richten daher keinen Schaden anvisudo
. Wenn/etc/sudoers
oder eine Datei/etc/sudoers.d
ist schlecht geformt,sudo
weigert sich, die Berechtigungen für jedermann als Sicherheitsmaßnahme zu erhöhen, weshalb die Verwendung nichtvisudo
gefährlich ist. (Obwohl es manchmalpkexec
ohne NeustartSo habe ich den Benutzer ohne Root-Kennwort in ein kurzlebiges Docker-Image für die Verwendung in einer CICD-Pipeline implementiert:
quelle