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