Jak używać sudo bez hasła na Linuxie
dnkr
2015-11-09
2023-01-20

Opcja 1 - szybka#

Wykonaj to polecenie, skrypt poprosi cię o podanie twojej nazwy użytkownika, a następnie wszystko skonfiguruje.

read -p "Podaj nazwe uzytkownika: " user && echo "$user ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$user > /dev/null && sudo chmod 0440 /etc/sudoers.d/$user

Po tym możesz zamknąć terminal i wypróbować, czy zadziałało poleceniem sudo su. Jeżeli przełączy cię na użytkownika root bez hasła, to wszystko działa.

Opcja 2 - manualna#

W miejsce dnkr podaj swoją nazwę użytkownika:

sudo nano /etc/sudoers.d/dnkr

Po otwarciu pliku wklej do niego poniższą zawartość, podmieniając dnkr na swoją nazwę użytkownika:

dnkr ALL=(ALL:ALL) NOPASSWD: ALL

Naciśnij skrót Ctrl + X, następnie Y, by potwierdzić i zapisać plik.

Nadaj poprawne uprawnienia, podmieniając dnkr na swoją nazwę użytkownika:

sudo chmod 0440 /etc/sudoers.d/dnkr

Zamknij i otwórz nowy terminal, wypróbuj polecenie sudo su.

Opcja 3 - każdy użytkownik z sudo może używać sudo bez hasła#

Jeżeli chcesz, aby użytkownik, który ma dostęp do sudo, mógł go używać bez hasła, użyj polecenia:

echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/sudo > /dev/null && sudo chmod 0440 /etc/sudoers.d/sudo

lub wykonaj to ręcznie:

sudo nano /etc/sudoers.d/sudo

Wklej do środka:

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

Naciśnij skrót Ctrl + X, następnie Y, by potwierdzić i zapisać plik.

Nadaj poprawne uprawnienia:

sudo chmod 0440 /etc/sudoers.d/sudo

Zamknij i otwórz nowy terminal, wypróbuj polecenie sudo su.

Weryfikacja pliku konfiguracyjnego sudo#

Możesz wydać to polecenie, które sprawdzi składnię twojego pliku konfiguracyjnego:

sudo visudo -c

Odpowiedź powinna wyglądać mniej więcej tak i zawierać na końcu każdej linijki parsed OK:

/etc/sudoers: parsed OK
/etc/sudoers.d/10-installer: parsed OK
/etc/sudoers.d/dnkr: parsed OK

Jeżeli widzisz błąd:

/etc/sudoers.d/dnkr: bad permissions, should be mode 0440

ponownie wydaj polecenie chmod, podając poprawną nazwę pliku, którą wcześniej podałeś:

sudo chmod 0440 /etc/sudoers.d/dnkr