Ваше мнение важно для нас.
Поделитесь своими предоложениями и пожеланиями.

Как сделать, чтоб shell скрипт всегда запускался из под root-пользователя?


Я недавно начал разбираться с разработкой под Linux и у меня возникла необходимость запускать некоторые скрипты из-под пользователя root. При этом процесс, который запускает скрипт выполняется под другим пользователем. Как это сделать? Я использую Ubuntu 10.04 LTS.
Теги: linux root shell
1

Ответы

0
Ссылка
Сделать это довольно несложно, но это может стать большой дырой в безопасности.
Нужно добавить в файл /etc/sudoers(модифицировать его нужно утилитой visudo, это написано в комментариях в самом файле) такую строчку

ALL    ALL = (root) NOPASSWD: /absolute/path/to/your/script.sh

После этого можно просто вызывать скрипт с sudo

sudo /absolute/path/to/your/script.sh

и он будет выполняться, не запрашивая пароля, от имени пользователя root.
0
Ссылка
Тут есть один важный момент: подобные операции - потенциальная дыра в безопасности(точнее вполне реальная). Чтоб немного обезопасить себя рекомендую:
1) Назначить этот файл доступным только пользователю root

    chown root /absolute/path/to/your/script.sh
chmod 700 /absolute/path/to/your/script.sh

Verify that noone except root can replace the script, e.g. by modifying the access rights of the parent folder:

2) Удостовериться, что доступ к родительской папке скрипта имеет только пользователь root

    chown root /absolute/path/to/your/
chmod 755 /absolute/path/to/your/

Данные меры предосторожности помогут обезопасить себя от подмены выполняемого скрипта, но это еще не все. Если Ваш скрипт принимает какие-либо параметры, проверьте, что они правильно экранированы и "злоумышленник" не может подсунуть в них какой-либо shell-код который будет выполнен.
Для того, чтоб отвечать на вопросы или зарегистрируйтесь.
ИТ-цитата
"Я пишу все свои критические процедуры на ассемблере, а мои комические процедуры на фортране."
Anonymous