pacman -Fs $filename
используется для поиска того, какой пакет предоставляет $filename .
файлы конфигурации sudo хранятся в файле /etc/sudoers
и каталоге /etc/sudoers.d
. Предпочтительно добавить файл с тем же именем, что и у пользователя , для которого вы хотите установить sudo, в /etc/sudoers.d
, хотя вы также можете отредактировать /etc/sudoers
.
Основной синтаксис: who where = (as _who )what
Например:
root ALL = (ALL:ALL) ALL
меню позволяют пользователю root
работать на любом хосте (ВСЕ = )как любой пользователь :группа (ВСЕ :ВСЕ )любая команда (ВСЕ)
В вашем случае нужно сделать что-то вроде:
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
Также обратите внимание, что я привел очень простой пример (и, следовательно, использовал эхо и перенаправление ), но было бы хорошей практикой использовать команду visudo
для редактирования файлов конфигурации sudo, что гарантирует, что только один человек редактирует файл за раз, имеет соответствующие разрешения и отказывается записывать файл и выходить, если во внесенных изменениях есть синтаксические ошибки.
visudo -f /etc/sudoers.d/ltd_user
см. man sudoers
для более подробной информации и расширенных примеров