Qué método usar para otorgar sudo

13

¿Cuál es la diferencia entre agregar un usuario a /etc/sudoersy usermod -a -G sudo? ¿Qué método debería usarse para otorgar sudo?

Sonique
fuente
66
Para Ubuntu, deberías evitar la edición /etc/sudoersbajo cualquier condición. En su lugar, agregue fragmentos de configuración al /etc/sudoers.ddirectorio. El uso de la carpeta de fragmentos facilita la actualización ya que modificó un archivo de conffile.
Zoredache
@ Zoredache - excelente punto. ¿Te importa si agrego eso a mi respuesta? No quiero tomar el crédito por ello, pero este consejo debería vivir en una respuesta en algún lugar en caso de que los dioses del comentario lo exploten por alguna razón.
EEAA
2
@EEAA, le doy permiso para usar lo anterior, y cualquier otro comentario que publique para fusionarlo con las respuestas reales. Agrego comentarios porque soy demasiado vago / ocupado para agregar una respuesta completa, pero no me importa si las personas toman mis comentarios y los integran en una buena respuesta completa.
Zoredache

Respuestas:

19

Si puede evitarlo, nunca otorgue privilegios de sudo a usuarios individuales. Siempre otorgue privilegios a un grupo y luego agregue usuarios a ese grupo.

Para servidores basados ​​en ubuntu, en lugar de agregar líneas a /etc/sudoers , agregue fragmentos de archivos de configuración en /etc/sudoers.d. Esto es más flexible, más fácil de entender, más resistente frente a las actualizaciones y funciona mejor con sistemas administrados por sistemas de administración de configuración.

NOTA: nunca edite /etc/sudoersdirectamente. En su lugar, use visudo, que realizará una verificación de sintaxis en sus ediciones, evitando que rompa su configuración de sudo con una sintaxis no válida.

EEAA
fuente
¿Por qué no agregar el grupo /etc/sudoers?
Flak DiNenno
1
@FlakDiNenno: correcto, eso es exactamente lo que sugerí.
EEAA
ahhh ... pensé que te usermod -a -G sudo
referías
+1 para la advertencia sobre el uso de visudo en lugar de edición directa
Flak DiNenno
Buen punto sobre visudo. Algunas personas no se dan cuenta de que hay una razón /etc/sudoersmarcada como de solo lectura.
ub3rst4r
9

Acabo de encontrar este pequeño dato por ahí ... parece que debe tener especial cuidado con el uso de la -Gopción en Ubuntu, en particular en la -gopción de combinación . Entonces:

  1. Use usermod -aGpara agregar los usuarios a un grupo.
  2. Luego, como sugirió @EEAA , agregue el grupo al archivo / etc / sudoers usando el $ sudovisudocomando (invoca automáticamente un editor privilegiado con verificación de sintaxis).

Aquí está la información sobre la -aGopción en Ubuntu, tomada de aquí http://ubuntuforums.org/showthread.php?t=1240477 :

'Estoy leyendo la Wiley "Linux Command Line and Scripting Bible" , y dijeron que usermod -G "agrega" un grupo a cualquier cuenta de usuario que esté modificando. Encontré que esto es falso en Ubuntu, no sé si es diferente en otras distribuciones o un error tipográfico en el libro. Lo elimina de CADA otro grupo al que pertenece, excepto su grupo de usuarios predeterminado (modificado por la opción -g). Logré eliminarme del grupo de administración y ya no pude sudo nada. Gracias a Dios por el modo de recuperación ... '

La opción correcta es usermod -aG . Lección aprendida...

Flak DiNenno
fuente
2
¿Puede el votante tener la cortesía de proporcionar algunas críticas constructivas aquí? tia.
Flak DiNenno
No te rechacé, pero tu "respuesta", en realidad no responde a la pregunta formulada. Este es un sitio de preguntas y respuestas bastante estricto, generalmente esperamos respuestas que respondan directamente a la pregunta formulada. Por cierto, sí, sé que de alguna manera abordas la pregunta un poco, pero parece que tu 'respuesta' dice que debes hacer lo que dijo EEAA, pero ten cuidado con esta peculiaridad extraña.
Zoredache
@ Zoredache gracias por tomarse el tiempo. ¿Los pasos 1 y 2 no dan claramente instrucciones para "un método preferido para otorgar sudo"? ¿Qué es lo que preguntó el OP?
Flak DiNenno
1

No nos dice qué tan grande es su entorno, pero si es más de una máquina, también puede considerar la configuración sudomediante LDAP como una alternativa a la edición local de sudoers (ya sea a través visudoo utilizando el /etc/sudoers.dmétodo de fragmentos).

La configuración de LDAP es una forma bien probada de asegurarse de que varias máquinas tengan la misma sudoconfiguración y presente un entorno unificado agradable (con administración central de un mecanismo de autorización importante). Como beneficio adicional si ya usa LDAP (o AD) para la autenticación / autorización en su entorno, puede aprovechar la infraestructura existente (y si no lo hace, debería considerarlo seriamente; la centralización tiene muchos beneficios).

Todo lo que la gente ya ha dicho en las otras respuestas sobre la creación de grupos autorizados sigue en pie: es más fácil a medida que se amplía para otorgar privilegios a un grupo y administrar la membresía del grupo que tratar con los derechos de administración para usuarios individuales.

voretaq7
fuente