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