ENDGÜLTIGE LÖSUNG

ENDGÜLTIGE LÖSUNG

Unser Staging-Server befindet sich auf einer Amazon EC2-Instanz. Wenn Sie sich per SSH anmelden, können Sie einen sudoBefehl ausführen, sudo suohne 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 passwdaber 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 visudound 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 ubuntuanstelle 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 visudound 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 visudodass 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.

verwandte Informationen