Unser Staging-Server befindet sich auf einer Amazon EC2-Instanz. Wenn Sie sich per SSH anmelden, können Sie einen sudo
Befehl ausführen, sudo su
ohne ein Passwort eingeben zu müssen.
Gibt es eine Möglichkeit, von einem Benutzer ein Passwort zu verlangen, wenn er einen Befehl mit versucht sudo
? Ich habe einen Drittanbieter-Entwickler, der Zugriff benötigt, und ich möchte dessen Root-Rechte einschränken.
Ich habe versucht, ein Passwort festzulegen, sudo passwd
aber ich benötige immer noch kein Passwort.
~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
~$ sudo su
/home/ubuntu# exit
~$ sudo passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
~$ sudo su
/home/ubuntu#
AKTUALISIEREN
Ich habe versucht, das Kennwort anzufordern, indem ich Folgendes ausgeführt sudo visudo
und hinzugefügt habe:
ubuntu ALL=(ALL) ALL
Jetzt werde ich nach einem Passwort gefragt, aber das von mir festgelegte funktioniert nicht! Zum Glück habe ich vorher ein AMI erstellt.
Könnte das Problem sein, dass ich für den Benutzer kein Kennwort festgelegt habe ubuntu
? Ich hätte sudo passwd ubuntu
anstelle von ausführen sollen sudo passwd root
.
ENDGÜLTIGE LÖSUNG
Nur um das klarzustellen, mein Fehler war, dass ich das Passwort für den falschen Benutzer festgelegt habe. Ich habe versucht, es fürWurzelwährend ich es hätte einstellen sollen fürUbuntumit:
~$ sudo passwd ubuntu
Und dann aktualisieren/etc/sudoersso, dass dieUbuntuBenutzer müssen beim Ausführen eines Befehls ihr Passwort eingeben sudo
. Um diese Datei zu bearbeiten, müssen Sie Folgendes ausführen sudo visudo
und hinzufügen:
ubuntu ALL=(ALL) ALL
Antwort1
Wenn Sie eine Zeile wie
ALL ALL=(ALL) NOPASSWD:ALL
in /etc/sudoers erlaubt dies allen Benutzern, sudo zu verwenden, ohne nach Passwörtern gefragt zu werden. Wenn Sie diese Zeile auskommentieren, müssen Sie angeben, welche Benutzer sudo verwenden dürfen, zum Beispiel
myuser ALL=(ALL) ALL
Antwort2
Sudo speichert Ihre Anmeldeinformationen im Cache, so dass Sie bei mehrmaliger Verwendung innerhalb kurzer Zeit nur beim ersten Mal nach Ihrem Kennwort gefragt werden.
Auf der Manpage steht:
timestamp_timeout
Number of minutes that can elapse before sudo will
ask for a passwd again. The timeout may include a
fractional component if minute granularity is
insufficient, for example 2.5. The default is 5.
Set this to 0 to always prompt for a password. If
set to a value less than 0 the user's time stamp
will never expire. This can be used to allow users
to create or delete their own time stamps via "sudo
-v" and "sudo -k" respectively.
Wenn Sie also immer ein Passwort anfordern möchten, geben Sie einfach ein, sudo visudo
dass Sie die Datei bearbeiten möchten. Fügen Sie diese Zeile hinzu:
Defaults timestamp_timeout=0
Dies erfordert die Eingabe eines Kennworts für alle Sudo-Befehle.