¿Cómo permitir al usuario cambiar las reglas de iptables?

¿Cómo permitir al usuario cambiar las reglas de iptables?

Actualmente estoy desarrollando una aplicación que puede ejecutar comandos automáticamente en varios servidores.

Si cambio la configuración de un servicio, necesito reiniciarlo (o recargarlo) y, por lo tanto, algunos de los comandos necesitan permiso de root. Para que funcione, cifré y guardé la contraseña del usuario en un archivo de texto para usarla durante los comandos sudo. Creo que se trata de una amenaza importante, pero tampoco quería que la aplicación se ejecutara con permiso de root.

¿Algunas ideas?

Respuesta1

Puede limitar qué comandos puede ejecutar el usuariosudo. Además, podría proporcionar unSIN CONTRASEÑAopción ensudoersarchivo en el contexto de ese usuario en lugar de utilizar la "función" de contraseña cifrada.

A continuación se muestra un ejemplo para permitir que un usuario sin privilegios reinicie el sistema.iptablesservicio:

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

La lista de comandos está separada por comas...

También podrías usarCmnd_Aliascaracterística:

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

información relacionada