Когда я пытаюсь выполнить ls
от имени пользователя abc
следующую команду, я получаю сообщение об ошибке:
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.
Но если я делаю, su abc
а затем выполняю, ls
у меня нет проблем
Это потому что
sudo
отличается отsu
. Когда выsu abc
становитесь пользователем,abc
насколько это касается системы. Затем вы можете делать все, чтоabc
можете.С другой стороны,
sudo
используется, чтобы позволить другим пользователям выполнять некоторые команды через прокси. Другими словами, вашаsudo
конфигурация позволяет вам выполнять некоторые команды от имениabc
. Если команда, которую вы пытаетесь выполнить, не является одной из них, вы получите сообщение об ошибке, о которой вы сообщили.источник
В случае, если все выглядит хорошо, но вы все равно получаете
Sorry user xxx cannot execute...
сообщение, и он постоянно просит васsudo
ввести пароль.Ты можешь сделать это:
/etc/sudoers
строке удаления с вашими настройками пользователяЭто сработало для меня. Оказалось, что конец этой строки был плохим, потому что я копировал команды, которые требовали выполнения, из электронной почты.
источник
visudo
для редактирования, вам бы об этом сказали?