Вы хотите убедиться, что ваш пользователь не может вносить изменения в то, что ему разрешено запускать. Например, при попытке добавить скрипт, принадлежащий вашему пользователю (~/.bash_aliases/shutdown2h
) для запуска от имени пользователя root через судо
без пароля вы разрешите выполнение любой произвольной команды. Просто отредактируйте этот файл и запустите его. Это было бы то же самое, что разрешить пользователю выполнять любую команду через sudoers
. Например, пользователь отредактирует файл, чтобы прочитать в настоящее время
вместо -ч +120
и немедленно выключите машину.
Вместо этого было бы лучше добавить в систему сценарий, принадлежащий пользователю root, возможно, в /USR/местные/бен/
. Например, /USR/локальные/бен/shutdown2h
, исполняемый всеми, но доступный для записи только пользователю root. Таким образом, вы гарантируете, что пользователь может запускать только определенный сценарий, и этот сценарий не может быть изменен им для запуска чего-то другого. Путь, по которому вы размещаете скрипт, должен быть в вашем $ПУТЬ
, который /USR/местные/бен
должно быть по умолчанию.
- Создать скрипт
sudo vim /usr/local/bin/shutdown2h
#!/бин/баш
выключение -ч +120
- Разрешить выполнение скрипта
sudo chmod +x /usr/local/bin/shutdown2h
- Разрешить ПОЛЬЗОВАТЕЛЮ запускать определенный скрипт
Судо Визудо
# Добавляем эту запись
ПОЛЬЗОВАТЕЛЬ ВСЕ=(ВСЕ) NOPASSWD: /usr/local/bin/shutdown2h
Теперь ваш пользователь может запустить sudo shutdown2h
без запроса пароля и быть уверенным, что этот пользователь сможет запустить только выключение -ч +120
без пароля.
Также при изготовлении sudoers
записи, обязательно укажите полный путь к исполняемому файлу/сценарию и не используйте ярлыки, такие как ~/
или же $ГЛАВНАЯ
.