От пользователя root, как я могу дать разрешения другому пользователю на выполнение файла /root/script.sh?
Идея состоит в том, чтобы запустить скрипт как sudo -u user1 /root/script.sh
root
privileges
bulkmoustache
источник
источник
sudo
командой, которую вы написали?su(1)
Ответы:
Сразу скажу, мне никогда не нравились
sudo
(особенно его конфигурации). Обычная стараяsu
:Выполнено от пользователя root, пароль не запрашивается.
источник
Пользователь должен иметь
разрешение на выполнение для всего пути к каталогу (
/root
только здесь )выполнить разрешение для файла
разрешение на чтение файла
Это может быть хорошей идеей, чтобы оставить
/root
нетронутым и создать (или использовать) другой каталог для этой цели (например/usr/local/bin
). Вы можете сделатьuser1
единственного пользователя, которому разрешено выполнять скрипт, сделав его владельцем файла или оставить его вroot
качестве владельца и группы, установить простые права доступа (chmod
)770
и добавить ихuser1
с помощью ACL (setfacl
).источник
Если ваш скрипт находится в корневом каталоге, то
user1
может быть только root.Ваша
/etc/sudoers
запись будет выглядетьВы обычно редактируете файл с
visudo
Тогда вам также не нужно подчиняться
-u root
вашейsudo
команде.%
Означает группу пользователей. Если вы пропустите это, то только пользователю разрешено выполнять команду. Если вы хотите, чтобы группа пользователей выполняла его, оставьте все как есть.источник