Как разрешить пользователю изменять правила iptables?

Как разрешить пользователю изменять правила iptables?

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

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

Есть идеи?

решение1

Вы можете ограничить, какие команды пользователь может запускать черезсудо. Также вы могли бы предоставитьНЕТ ПАРОЛЬвариант в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

Связанный контент