Могу ли я предоставить одному пользователю без sudo доступ для запуска одной команды без sudo?

Могу ли я предоставить одному пользователю без sudo доступ для запуска одной команды без sudo?

Можно ли предоставить одному пользователю без доступа sudo возможность выполнить защищенную sudo команду, например chmod?

решение1

судоФайлы конфигурации хранятся в /etc/sudoersфайле и /etc/sudoers.dкаталоге. Предпочтительно добавить файл,с тем же именем, что и у пользователявы хотите установить sudo для, /etc/sudoers.dхотя вы также можете редактировать /etc/sudoers.

Основной синтаксис:кто где = (как_кто) что

Например:

root ALL = (ALL:ALL) ALL

menas позволяет пользователю rootзапускать на любом хосте (ALL = ) как любой пользователь:группа (ALL:ALL) любую команду (ALL)

В вашем случае вам нужно сделать что-то вроде:

echo "ltd_user ALL=NOPASSWD:/bin/cat, PASSWD:/bin/chmod" > /etc/sudoers.d/ltd_user

Это дает пользователю ltd_userправо запуска catбез ввода пароля и chmodпосле ввода пароля на любом хосте, как любой пользователь.

После создания файла /etc/sudoers.dвам следует установить разрешение 440

chmod 440 /etc/sudoers.d/ltd_user

Также обратите внимание, что я привел очень простой пример (и поэтому использовал echo и перенаправление), но было бы хорошей практикой использовать visudoкоманду для редактирования файлов конфигурации sudo, которая гарантирует, что только один человек редактирует файл в каждый момент времени, имеет необходимые права и отказывается записывать файл и выходить, если во внесенных изменениях есть синтаксические ошибки.

visudo -f /etc/sudoers.d/ltd_user

man sudoersдля более подробной информации и расширенных примеров см .

Связанный контент