Jak często hasło jest proszone o polecenia sudo? Gdzie mogę to skonfigurować?

24

Wykonuję całkiem sporo sudopoleceń.

Zauważyłem, że jeśli wykonam jedną, a potem drugą w ciągu kilku minut, za drugim razem nie otrzymuję komunikatu:

[sudo] hasło do mojej_użytkownika:

ale dostaję to, gdy pomiędzy wykonaniem dwóch poleceń jest więcej czasu.

Jaki jest okres, w którym wiadomość się nie pojawia? Jak możemy to sprawdzić / zaktualizować?

fedorqui
źródło
1
sudo visudo, następnie% sudo powinno mieć%% sudo ALL = (ALL: ALL) NOPASSWD: ALL, nie będziesz pytał o hasło po wpisaniu sudo any-stuff
Qasim
3
Ta (NOPASSWD: ALL) jest bardzo niebezpieczną sugestią. To sprawi, że instalacja nie będzie zabezpieczona.
Sri

Odpowiedzi:

31

Domyślny limit czasu sudoto 15 minut; oznacza to, sudoże domyślnie zapamięta twoje hasło przez 15 minut.

Możesz zmodyfikować ten domyślny limit czasu, dodając ciąg do pliku /etc/sudoers. Jednak nie modyfikujesz pliku bezpośrednio, ale zamiast tego używasz polecenia sudo visudo.

Więc wpisz sudo visudoterminal. Spowoduje to otwarcie (faktycznie tymczasowego) pliku do edycji za pomocą preferowanego edytora.

Uwaga: jeśli używasz visudopo raz pierwszy, powinieneś zostać zapytany, którego edytora chcesz użyć, więc wybierz swój edytor. Nie ma „lepszego” edytora, ale wolę nano. Jeśli już używałeś visudoi wybierałeś wcześniej edytor, ale na razie chcesz użyć innego edytora, możesz zrobić, sudo EDITOR=vi visudoaby użyć vilub zmienić go nanona używanie nano. Jeśli chcesz trwale zmienić preferowany edytor, zrób to sudo update-alternatives --config editor.

Poszukaj tej linii:

Defaults    env_reset

I dodaj (przecinkiem) na końcu, gdzie X to czas, który chcesz ustawić w minutach.timestamp_timeout=X

Twoja linia powinna wyglądać następująco:

Defaults    env_reset,timestamp_timeout=5

Jeśli podasz 0, zawsze będziesz pytany o hasło. Jeśli podasz wartość ujemną, limit czasu nigdy nie wygaśnie.

Po zakończeniu zapisz i wyjdź.

Źródło: RootSudoTimeout

Alaa Ali
źródło
Dziękuję, @Alaa, to dobra i pomocna odpowiedź. Na marginesie, Ctrl + xczęść nie zawsze jest dopasowana, ponieważ edytor może być na przykład vi(w moim przypadku).
fedorqui
Nawiasem mówiąc, popełniłem duży błąd, dodając nową linię z tylko Default timestamp-0zamiast z tą env_reset. Zepsuł się mój plik sudoers. Musiałem użyć askubuntu.com/a/73872/143251, aby go rozwiązać!
fedorqui
@fedorqui: Właśnie dlatego powinieneś używać visudo (jak zaleca Alaa) zamiast bezpośrednio edytować plik. Pierwsza z nich sprawdzi, czy plik jest za Ciebie, uniemożliwiając zablokowanie się z sudo.
Plutor
Tak, tak, właśnie to zrobiłem @Plutor. Ale vito edytor, dla którego zdefiniowałem visudo. Problem polega na tym, że zapisałem plik, chociaż dostałem komunikat ostrzegawczy podczas zamykania go. Oczywiście moja wina.
fedorqui
1
@ Fedorqui, tak, chciałem usunąć tę część, ponieważ każdy może używać innego edytora. Zredagowałem swoją odpowiedź, aby nie była specyficzna dla edytora.
Alaa Ali,
3

Zobacz ten post tutaj: http://ubuntuforums.org/showthread.php?p=116697#post116697

Edytuj /etc/sudoersplik, użyj sudo visudopolecenia dla bezpieczeństwa. Dodaj timestamp_timeout=0do linii, zaczynając Defaultspytać za każdym razem, lub dodatnie X dla X minutowego opóźnienia.

Tuminoid
źródło
1
Muszę się zarejestrować na forum, aby to zobaczyć. W międzyczasie, czy możesz uprzejmie wskazać, który plik powinienem edytować za pomocą timestamp_timeout=0linii?
fedorqui
OK, ustalona odpowiedź.
Tuminoid,
Udało się! Przyjmę drugą odpowiedź, ponieważ ma ona bardziej wyczerpujące wyjaśnienie i zawiera env_resetodniesienie, które jest ważne. W każdym razie twoja odpowiedź była również bardzo pomocna, więc dziękuję!
fedorqui
0

Nie jestem pewien, czy to wygasa, czy nie, ale możesz spróbować

sudo su

Poprosi Cię o hasło, a następnie wszystkie polecenia będą uruchamiane jako sudo.

Mihai
źródło
1
Tak, @ Rat2000, ale chcę nadal używać mojego użytkownika, a nie root. Myślę, że jest bezpieczniej. W każdym razie dzięki za radę.
fedorqui
3
sudo su sprawia, że ​​się rootujesz. Twój monit powinien być następnie root @ yourpc. Pamiętaj, że root ma swój własny .bashrc, więc twoje aliasy nie będą działać. Pamiętaj również, że root może spowodować poważne uszkodzenia systemu, więc bądź ostrożny!
speter