Вместо этого было бы лучше добавить в систему сценарий, принадлежащий пользователю root, возможно, в формате /usr/local/bin/
. Например /usr/local/bin/shutdown2h
, исполняемый всеми, но доступный для записи только пользователю root. Таким образом, вы гарантируете, что пользователь может запускать только определенный сценарий, и этот сценарий не может быть изменен им для запуска чего-то другого. Путь, по которому вы размещаете скрипт, должен быть в вашем файле $PATH
, который
должен быть по умолчанию /usr/local/bin
.
- Создать скрипт
sudo vim /usr/local/bin/shutdown2h
#!/bin/bash
shutdown -h +120
- Разрешить выполнение скрипта
sudo chmod +x /usr/local/bin/shutdown2h
- Разрешить ПОЛЬЗОВАТЕЛЮ запускать определенный скрипт
sudo visudo
# Add this entry
USER ALL=(ALL) NOPASSWD: /usr/local/bin/shutdown2h
Теперь ваш пользователь может работать sudo shutdown2h
без запроса пароля и быть уверенным, что этот пользователь сможет работать только shutdown -h +120
без пароля.
Кроме того, при внесении записей sudoers
обязательно указывайте полный путь к исполняемому файлу/сценарию и не используйте ярлыки, такие как ~/
или $HOME
.