Nie potrzebuję administratora, aby zmienić hasło roota. Nie chcę, aby jakikolwiek użytkownik sudo wykonał to polecenie:
sudo passwd $root
Próbowałem tego w pliku sudoers za pomocą następującego polecenia:
%sudo ALL=(ALL) ALL, !/usr/bin/passwd $root
Jak mogę to zablokować?
Odpowiedzi:
Zgodnie z instrukcją sudoers :
To dlatego twoje zasady sudoers nie działają.
Jeśli chcesz uniemożliwić użytkownikowi uzyskanie uprawnień roota i zmianę hasła, spróbuj wykonać następującą procedurę:
Zakładając, że twoi sudoers zawiera tę dyrektywę:
Zakładając, że Twoja nazwa użytkownika to
foo
, jego grupy tofoo
isudo
.groups
dane wyjściowe polecenia to:Usuń użytkownika
foo
zsudo
grupy:gpasswd -d foo sudo
po tym użytkownikfoo
nie może uruchomić żadnego polecenia z sudo.Edytuj plik sudoers. Użyj tego polecenia:
Zdefiniuj
foo
uprawnienia użytkownika , na przykład:Oznacza to, że użytkownik
foo
może uruchamiać dowolne polecenia w katalogu/usr/bin/
opróczpasswd
isu
. Uwaga: jeśli użytkownikfoo
chce zmienić hasło, może uruchomićpasswd
polecenie bezsudo
.Kolejny przykład
foo
uprawnień użytkownika :Oznacza to, że użytkownik
foo
może uruchamiać dowolne polecenia w katalogu/usr/bin/
i może zmieniać hasło każdego użytkownika oprócz root na WSZYSTKICH komputerach.Możesz zdefiniować grupy poleceń, definiując
Cmnd_Aliases
i tworząc „poziomy uprawnień”. Przydatne przykłady można znaleźć w sekcji PRZYKŁAD podręcznika sudoers , a tutaj znajduje się przydatny link na temat korzystania z sudoers.źródło
foo ALL=/usr/bin/*, !/usr/bin/passwd
wiedzieć, dlaczego tak jest?dodaj alias polecenia poprzez
visudo
:dodaj ograniczenia poprzez
visudo
:dodaj użytkownika do grupy o nazwie nopasswdgroup:
źródło