Como permitir que o usuário altere as regras do iptables?

Como permitir que o usuário altere as regras do iptables?

Atualmente estou desenvolvendo um aplicativo que pode executar comandos automaticamente em vários servidores.

Se eu alterar a configuração de um serviço, preciso reiniciá-lo (ou recarregá-lo) e, portanto, alguns dos comandos precisam de permissão de root. Para fazer funcionar, criptografei e salvei a senha do usuário em um arquivo de texto para usá-la durante os comandos sudo. Acredito que esta seja uma grande ameaça, mas também não queria que o aplicativo fosse executado com permissão de root.

Alguma ideia?

Responder1

Você pode limitar quais comandos o usuário pode executarsudo. Além disso, você pode fornecer umSEM SENHAopção emsudoersarquivo no contexto desse usuário em vez de usar o "recurso" de senha criptografada.

Aqui está um exemplo para permitir que um usuário sem privilégios reinicie otabelas de ipserviço:

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

A lista de comandos é separada por vírgulas...

Você também pode usarCmnd_Aliasrecurso:

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

informação relacionada