От пользователя root, как я могу дать разрешения другому пользователю на выполнение файла /root/script.sh?
Идея состоит в том, чтобы запустить скрипт как sudo -u user1 /root/script.sh
su(1)
От пользователя root, как я могу дать разрешения другому пользователю на выполнение файла /root/script.sh?
Идея состоит в том, чтобы запустить скрипт как sudo -u user1 /root/script.sh
su(1)
Ответы:
Пользователь должен иметь
разрешение на выполнение для всего пути к каталогу ( /root
только здесь )
выполнить разрешение для файла
разрешение на чтение файла
Это может быть хорошей идеей, чтобы оставить /root
нетронутым и создать (или использовать) другой каталог для этой цели (например /usr/local/bin
). Вы можете сделать user1
единственного пользователя, которому разрешено выполнять скрипт, сделав его владельцем файла или оставить его в root
качестве владельца и группы, установить простые права доступа ( chmod
) 770
и добавить их user1
с помощью ACL ( setfacl
).
Если ваш скрипт находится в корневом каталоге, то
$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar 5 20:14 /root
user1
может быть только root.
Ваша /etc/sudoers
запись будет выглядеть
Cmnd_Alias SCRIPT=/root/script.sh
# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT
Вы обычно редактируете файл с visudo
Тогда вам также не нужно подчиняться -u root
вашей sudo
команде.
%
Означает группу пользователей. Если вы пропустите это, то только пользователю разрешено выполнять команду. Если вы хотите, чтобы группа пользователей выполняла его, оставьте все как есть.
sudo
командой, которую вы написали?