В настоящее время я разрабатываю приложение, которое может автоматически запускать команды на нескольких серверах.

Если я изменяю конфигурацию службы, мне нужно перезапустить (или перезагрузить) ее, и, таким образом, для некоторых команд требуется разрешение root. Чтобы заставить его работать, я зашифровал и сохранил пароль пользователя в текстовом файле, чтобы использовать его во время команд sudo. Я считаю, что это серьезная угроза, но я не хотел, чтобы приложение запускалось с правами root.

Есть идеи?

1 ответ1

2

Вы можете ограничить, какие команды пользователь может запускать через sudo. Кроме того, вы могли бы предоставить опцию NOPASSWD в файле sudoers в контексте этого пользователя вместо использования "функции" зашифрованного пароля.

Вот пример, позволяющий непривилегированному пользователю выполнить перезапуск службы iptables :

geewid  ALL = (root) NOPASSWD: /sbin/service iptables restart, /sbin/service iptables reload

Список команд разделен запятыми ...

Вы также можете использовать функцию Cmnd_Alias :

Cmnd_Alias FOOBAR = /sbin/service iptables restart, /sbin/service iptables reload
geewid  ALL = (root) NOPASSWD: FOOBAR

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .