Як користувач 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
може бути лише кореневим.
Ваш /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
написаною вами командою?