У меня 2 аккаунта пользователей, фу и бар
Я хочу разрешить пользователю фу для выполнения команд как root и любого другого пользователя, т.е.
sudo su root -c './ run-my-script'
sudo su bar -c './ другой-скрипт'
sudo su другой -c './ еще один-скрипт
Я также хочу разрешить пользователю бар для выполнения команд от имени другого пользователя, но только подмножества, а не root, т.е.
sudo su bar -c './ run-my-script'
но нет
sudo su root -c './ run-my-script'
Это возможно ?
Да, конечно, возможно.
Во-первых, вам нужно исправить использование sudo, чтобы выполнить команду от имени пользователя, отличного от root (по умолчанию), с помощью sudo синтаксис: sudo -u username command
Затем вы можете заблокировать пользователей, чью личность пользователь может принять через /etc/sudoers
config, например, полностью привилегированный пользователь выглядит так:
jim ALL=(ALL) ALL
Тогда как пользователь с ограничениями выглядит так:
jim ALL=(admin,bill) ALL
Это означает, что если я попытаюсь выполнить команду как пользователь, которого нет в списке, мне будет отказано:
jim@mybox:~$ sudo -u nobody whoami
Sorry, user jim is not allowed to execute '/usr/bin/whoami' as nobody on mybox.