Gdy próbuję wykonać ls
jako użytkownik abc
za pomocą następującego polecenia, pojawia się błąd:
xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.
Ale jeśli to zrobię, su abc
a potem wykonam, ls
nie mam problemu
Jest tak, ponieważ
sudo
różni się odsu
. Gdy stajeszsu abc
się użytkownikiem systemu,abc
jeśli chodzi o system. Możesz wtedy zrobić wszystko, coabc
możesz.Z drugiej strony
sudo
służy do umożliwienia innym użytkownikom wykonywania niektórych poleceń przez proxy. Innymi słowy, twojasudo
konfiguracja pozwala na wykonywanie niektórych poleceń w imieniuabc
. Jeśli polecenie, które próbujesz wykonać, nie jest jednym z nich, pojawi się zgłoszony błąd.źródło
Na wypadek, gdyby wszystko wyglądało dobrze, ale nadal pojawia się
Sorry user xxx cannot execute...
komunikat i zasudo
każdym razem prosi o podanie hasła.Możesz to zrobić:
/etc/sudoers
kasowania zgodnie z ustawieniami użytkownikaTo zadziałało dla mnie. Okazało się, że koniec tej linii był zły, ponieważ skopiowałem polecenia wymagające wykonania z wiadomości e-mail.
źródło
visudo
edytował, powiedziano by ci to?