Jak zmienić limit czasu dla sesji sudo


Podczas wykonywania niektórych zadań administracyjnych w wierszu polecenia z uprawnieniami sudo, mogłeś zauważyć, że jeśli wpiszesz hasło sudo, polecenie działa normalnie. W przypadku kolejnych poleceń uruchamianych wkrótce po pierwszym poleceniu sudo hasło nie jest wymagane. Jednak po odczekaniu czasu, jeśli ponownie uruchomisz polecenie za pomocą sudo, poprosi o podanie hasła. Wszystko to dzieje się z powodu limitu czasu sesji sudo, który domyślnie wynosi 15 minut. Ten limit czasu oznacza, że ​​jeśli wprowadziłeś polecenie sudo za pomocą hasła, twoje uprawnienia sudo pozostaną przez 15 minut. Nie będziesz więc proszony o ponowne wprowadzenie hasła dla kolejnych poleceń. Po 15 minutach będziesz musiał wprowadzić hasło sudo ponownie dla każdego polecenia sudo, które próbujesz uruchomić.

Jako zwykły użytkownik lub administrator systemu możesz chcieć przedłużyć lub skrócić ten domyślny limit czasu sesji sudo. W tym artykule dowiemy się, jak zmienić domyślny limit czasu sesji sudo. Aby to zrobić, będziemy musieli dokonać zmian w pliku sudoers. Pamiętaj, że wykonaliśmy tę procedurę w systemie Debian 10, ale będzie ona działać również w innych dystrybucjach Linuksa, takich jak Ubuntu. Tę samą procedurę można wykonać także w starszych wersjach Debiana.

Określ czas sesji sudo

Najpierw otwórz terminal w systemie operacyjnym Debian. Przejdź do karty Działania w lewym górnym rogu pulpitu. Następnie w pasku wyszukiwania wpisz słowo kluczowe terminal . Kiedy pojawi się wynik wyszukiwania, kliknij ikonę Terminala.

W terminalu wprowadź następujące polecenie, aby edytować plik sudoers.

$ sudo visudo

Pamiętaj, że nie edytuj pliku sudoers za pomocą edytorów tekstu. Zamiast tego użyj w tym celu powyższej metody.

Gdy pojawi się monit o hasło, wprowadź hasło użytkownika sudo. Plik Sudoers zostanie domyślnie otwarty w edytorze nano, jak pokazano na poniższym zrzucie ekranu. Teraz poszukaj następującego wiersza w pliku sudoers:

Defaults env_reset

Edytuj powyższy wiersz, dodając timestamp_timeout = x na jego końcu. Powinno to wyglądać tak:

Defaults env_reset timestamp_timeout=x

Gdzie x jest wartością limitu czasu, na który będzie czekał, zanim ponownie poprosi o hasło sudo. Jeśli chcesz, aby system pytał o hasło przy każdym uruchomieniu polecenia sudo, ustaw wartość x na 0. Jeśli chcesz, aby system nigdy nie pytał o hasło sudo, ustaw wartość x na -1.

W tym miejscu chcemy zmniejszyć wartość limitu czasu z 15 do 5 minut dla monitu sudo. W tym celu zamieniliśmy x na 5 w następujący sposób:

Defaults env_reset,timestamp_timeout=5

Po zakończeniu naciśnij Ctrl + o oraz Ctrl + x, aby zapisać i wyjść z pliku jednocześnie.

Ustaw sesję sudo na ostatnią do zamknięcia terminala

Za pomocą jednego polecenia możesz zezwolić, aby sesja terminalu trwała do momentu zamknięcia terminala bez względu na to, jak długo terminal pozostaje otwarty. Po wykonaniu następującego polecenia nie pojawi się monit o podanie hasła do poleceń sudo.

$ sudo -s

Zakończ sesję sudo

Po wprowadzeniu hasła do sudo możesz zawiesić sesję sudo nawet przed upływem limitu czasu określonego w pliku sudoers. Aby to zrobić, użyj następującego polecenia:

$ sudo –k

Należy pamiętać, że powyższe polecenie nie spowoduje zakończenia sesji, jeśli uruchomisz polecenie „sudo –s” podczas sesji terminalu.

To wszystko. Mam nadzieję, że będzie to pomocne, gdy będziesz musiał zmienić limit czasu sesji sudo. Wszystko, czego potrzebujesz, to po prostu dodać pojedynczą linię do pliku sudoers i gotowe.

Komentarze