Это типичный вариант использования sudo
.
Вы микшируете, sudo
что позволяет запускать команды от имени другого пользователя и легко настраивается (вы можете выборочно указать, какой пользователь может выполнять какую команду от имени какого пользователя), а su
какой переключается на другого пользователя, если вы знаете пароль (или являетесь пользователем root). su
всегда запускает оболочку, написанную на /etc/passwd
, даже если su -c
используется. Из-за этого su
не совместимо с /usr/sbin/nologin
.
Вы должны использовать
sudo -u secure /home/someuser/secure.script
Как sudo
настраивается вы можете контролировать , кто может использовать эту команду , и если он / она должен ввести пароль , чтобы запустить его. Вы должны отредактировать, /etc/sudoers
используя visudo
для этого. (Будьте осторожны при редактировании / etc / sudoers и всегда используйте visudo для этого. Синтаксис не тривиален, и одна ошибка может заблокировать вас от вашей учетной записи root.)
Эта строка в sudoers позволяет любому в группе somegroup
запускать команду как secure
:
%somegroup ALL=(secure) /home/someuser/secure.script
Это позволяет любому в группе somegroup
запускать команду как secure
без ввода пароля:
%somegroup ALL=(secure) NOPASSWD: /home/someuser/secure.script
Это позволяет user1
выполнить команду как secure
без ввода пароля:
user1 ALL=(secure) /home/someuser/secure.script
sudo su
, см. Unix.stackexchange.com/questions/218169/…