sudo -u usuario cmd vs sudoedit

2

He leído en Internet que tienes que usar sudoedit en lugar de sudo vim. Entiendo por qué esto es y debería usarse para que no pueda editar los archivos del usuario root.

Sin embargo, me gustaría administrar un usuario nologin (cuenta de servicio que ejecuta una sola aplicación) llamémosle 'nologinuser' con mi propia cuenta no root . Para esto necesitaría los derechos correctos en el archivo sudoers.

He estado discutiendo con 2 administradores de sistemas Linux y ambos están en desacuerdo.

El administrador de Linux A dice: debe crear una regla sudoedit para cada archivo de configuración y una regla sudo para cada comando.

El administrador B de Linux dice: Simplemente crea una regla sudo que te permita leer / escribir / ejecutar todo como ese usuario con "sudo -u nologinuser *"

Personalmente estoy de acuerdo con el administrador B porque con "sudo -u nologinuser" puede ejecutar cada comando solo como ese usuario, y a través de este comando también heredó sus derechos porque lo ejecuta como ese usuario. Esto tampoco causaría un problema de seguridad en la capacidad de cambiar los archivos del usuario root porque nada se hace como root y es más flexible.

¿Quién tiene razón o hay una tercera opción mejor? Quién me puede decir la mejor práctica en esto. ¿Cuál es la mejor manera de administrar un usuario de la aplicación nologin como no root?

Gracias.

    
pregunta C-3Pi-O 17.10.2017 - 15:21
fuente

1 respuesta

1

Depende de cuáles sean sus necesidades exactas.

  • Solución A : esta es la preferida cuando se ejecutan comandos como un usuario privilegiado (tal vez root, quizás otra cuenta que tenga más privilegios que un usuario estándar). Esto permite definir una política que describe las acciones exactas que deben permitirse, de modo que el usuario sin privilegios (malintencionadamente o por error) no pueda abusar de este acceso.

  • Solución B : en términos de privilegios, es estrictamente equivalente a proporcionarle un shell interactivo como nologinuser (con una mejor auditoría y administración de contraseñas que en realidad la contraseña de la cuenta de destino).

Según su mensaje, tengo la impresión de que no parece haber ningún problema real al entregarle una shell como nologinuser , sin embargo, la flexibilidad puede ser un problema (no desea tener llamar al administrador cada vez que desee agregar un nuevo comando, opción o archivo al archivo sudoers ), y su principal preocupación es que no se debe hacer ninguna acción como root.

Si mi comprensión de su mensaje es correcta, buscaría la solución B .

Tiene razón en su conclusión de que permitir que usuario_1 ejecute comandos como usuario_2 usando sudo no proporciona ningún privilegio raíz para < em> user_1 , directa o indirectamente.

La gente a menudo tiene la impresión errónea de que sudo proporciona superpoderes. Si bien su uso más común es, de hecho, ejecutar comandos como root , también se puede usar con el efecto inverso para disminuir los privilegios de un comando.

Personalmente, a menudo uso sudo para ejecutar un comando como un usuario con menos privilegios (un demonio, una utilidad de transferencia de archivos, etc.). En tales casos, no tiene sentido restringir los comandos ejecutables, simplemente defina qué usuarios pueden ejecutar el comando como este nologinuser y bajo qué condiciones (se requiere contraseña o no, variables de entorno para mantener, etc.) y usted Estará bien.

    
respondido por el WhiteWinterWolf 17.10.2017 - 16:46
fuente

Lea otras preguntas en las etiquetas