Ändern Sie das Standard-Zeitlimit für das Sudo-Passwort

16

Wenn ich sudomein Passwort ausführe und eingebe, sudomuss das Passwort bei einem späteren Aufruf innerhalb weniger Minuten nicht erneut eingegeben werden.

Wie kann ich das Standardzeitlimit ändern, um das Kennwort erneut anzufordern?

Tom Hale
quelle

Antworten:

25

man sudoers sagt:

Sobald ein Benutzer authentifiziert wurde, kann [...] der Benutzer sudo für einen kurzen Zeitraum (5 Minuten, sofern nicht durch die timestamp_timeoutOption überschrieben ) ohne Kennwort verwenden .

Um das Zeitlimit zu ändern, führen Sie es aus sudo visudound fügen Sie die Zeile hinzu:

Defaults        timestamp_timeout=30

Wo 30ist das neue Timeout in Minuten?

Um immer ein Passwort zu benötigen, setzen Sie auf 0. Um ein unendliches Zeitlimit festzulegen, setzen Sie den Wert auf negativ.

So deaktivieren Sie die Eingabeaufforderung für ein Kennwort für den Benutzer vollständig ravi:

Defaults:ravi      !authenticate
Tom Hale
quelle
3

Sie müssen / etc / sudoers bearbeiten. Für diejenigen, die vi nicht verwenden, sollten Sie diese Datei (unter einigen Linux-Varianten) mit einem Terminalbefehl wie dem folgenden bearbeiten:

sudo EDITOR=gedit visudo

Dann hinzufügen oder ändern timestamp_timeout:

# After authenticating, this is the amount of time after which
# sudo will prompt for a password again in the same terminal
Defaults    timestamp_timeout=30
Qwertie
quelle
Der richtige Weg, dies zu vermeiden vi, besteht darin, die $EDITORVariable auf etwas anderes zu setzen. Die Idee von visudoist nicht anzurufen vi, sondern zu verhindern, dass Personen sich selbst (und alle anderen, die davon abhängig sind sudo) aus ihrem rootKonto sperren, indem sie 1) /etc/sudoersin eine temporäre Datei kopieren , 2) $EDITORdiese Datei aufrufen , 3) eine Syntaxprüfung durchführen Datei und 4) eventuell durch /etc/sudoersdie aktualisierte Version ersetzen .
Andreas Wiese
visudoIn der Dokumentation heißt es: "Normalerweise berücksichtigt visudo die Umgebungsvariablen VISUAL oder EDITOR nicht, es sei denn, sie enthalten einen Editor in der oben genannten Editorliste vi." Aber ich kann bestätigen, dass dies sudo EDITOR=gedit visudoauf meiner CentOS 7.2-Box funktioniert. Die Syntaxprüfung, die es bietet, ist sicherlich eine gute Sache.
Qwertie
Ah, ja, danke für die (weitere) Klarstellung, das habe ich verpasst. Im IIRC können Sie aber auch den Standardeditor sudoersselbst ändern - nur für den Datensatz. Ich bin sicher, die Syntaxprüfung wird es zeigen. ;)
Andreas Wiese
3

sudo visudo ist, die Standardkonfigurationsdatei direkt zu ändern, aber in der Datei hat Vorschlag unten

Bitte fügen Sie lokalen Inhalt in /etc/sudoers.d/ hinzu, anstatt diese Datei direkt zu ändern.

Also, besserer Weg ist

cd /etc/sudoers.d
sudo visudo -f user_name

Fügen Sie den Inhalt hinzu

Defaults timestamp_timeout=(number)

(number)ist das neue Timeout in Minuten .

timestamp_timeout (Mann 5 Sudoers)

Die Anzahl der Minuten, die vergehen können, bevor sudo erneut nach einem Passwd fragt. Das Zeitlimit kann eine Bruchkomponente enthalten, wenn die winzige Granularität nicht ausreicht, z. B. 2,5. Der Standardwert ist 15. Setzen Sie diesen Wert auf 0, um immer zur Eingabe eines Kennworts aufzufordern. Bei einem Wert unter 0 läuft der Zeitstempel des Benutzers erst nach einem Neustart des Systems ab. Dies kann verwendet werden, um Benutzern das Erstellen oder Löschen eigener Zeitstempel über "sudo -v" bzw. "sudo -k" zu ermöglichen.

Speichern Sie die Datei, indem Sie Ctrl+ Odrücken und drücken enterund mit Ctrl+ beenden X.

Schlüssel Shang
quelle