¿Cuál es la mejor manera de agregar un usuario al grupo sudoer?

¿Cuál es la mejor manera de agregar un usuario al grupo sudoer?

Hasta ahora he encontrado cuatro formas diferentes de agregar un usuario al grupo sudoers y no todos los métodos funcionan en todos los sistemas. ¿Por qué tantas implementaciones diferentes? ¿Que es lo mejor? ¿Cuál es el estándar (es decir, funciona en la mayoría de los sistemas)?

Diferentes implementaciones:

  1. Agregar el usuario al grupo 'rueda'.
  2. Agregar el usuario al grupo 'sudo'.
  3. Editando el archivo /etc/sudoers
  4. Editando el archivo /etc/sudoers usando visudo

Respuesta1

Hay dos formas (principales) de autorizar a un usuario a ejecutar comandos como root mediante sudo:

  • declarar que "Alice puede ejecutar comandos como root";
  • Declare que "Alice es administradora de sistemas" y que "los administradores de sistemas pueden ejecutar comandos como root".

La forma de declarar "Alice es una administradora de sistemas" es convertirla en miembro del grupo de administradores de sistemas, pero no existe un nombre estándar para el grupo de administradores de sistemas (ni ninguna obligación de que exista un grupo de administradores de sistemas). Algunos sistemas Unix tradicionales tienen un grupo llamadowheel, pero a menudo estar en el grupo rueda es sólo un requisito previo para convertirse en root, y el usuario también debe conocer la contraseña de root y ejecutar su(así es como la usa BSD, en particular). Algunas distribuciones, como Ubuntu y Debian, incluyen un grupo llamado sudoy una regla "los miembros del grupo sudopueden ejecutar el comando como root" en su configuración predeterminada.

Si /etc/sudoers(o un archivo en /etc/sudoers.d) contiene una línea como %sudo ALL=(ALL:ALL) ALL, entonces puede convertir a un usuario en sudoer agregándolo al sudogrupo ( adduser alice sudo). El nombre sudono es mágico, sólo tienes que coincidir con la entrada en /etc/sudoers.

Nunca edite /etc/sudoers(o un archivo bajo /etc/sudoers.d) directamente: si comete un error de sintaxis, se bloqueará el acceso de root. Utilice siempre visudopara editar ese archivo. Para elegir el editor que visudose ejecuta, configure la VISUALvariable de entorno (o EDITOR, siempre que VISUALno esté configurada). En una máquina multiusuario, el uso visudotiene la ventaja adicional de que se encarga de bloquear en caso de que dos administradores editen el archivo al mismo tiempo.

Respuesta2

adduser username sudofunciona para mí, pero luego uso Debian, que tiene un sudoersarchivo que por defecto otorga sudoacceso sudo a todos los miembros del grupo.

Respuesta3

Porque Ubuntuagregué <somefile>at /etc/sudoers.d/con la línea:

<user> ALL=(ALL:ALL) ALL

Usando el comando:

visudo -f /etc/sudoers.d/<somefile>

Se recomienda esto porque deja el /etc/suodersarchivo intacto y, por lo tanto, evita un conflicto (y la resolución manual posterior requerida) entre las actualizaciones. Ver:Por qué /etc/sodoers.d/

Respuesta4

Los métodos 2 y 4 funcionarán en casi todos los Linux. ¡Ni siquiera intentes usar 3 en un sistema que funcione! Puede dañar el sistema. El método 1 puede funcionar, pero no es necesario.

¿Por qué debería utilizar visudo en lugar de editar manualmente /etc/sudoers?

Una vez que tuve acceso root utilicé visudo para arreglar el archivo sudoers. ¿Por qué visudo? Porque ese es el programa que SE SUPONE QUE DEBES UTILIZAR. Sí, estoy un poco enojado, porque la persona que rompió este servidor debería haberlo sabido mejor. Visudo es un pequeño y encantador programa que comprueba la sintaxis del archivo sudoers antes de guardarlo, de modo que si haces algo monumentalmente estúpido lo sabrás antes de que se convierta en un problema y te impida volver al sistema como root.

http://lickthesalt.com/2009/07/06/fail-why-you-should-always-use-visudo/

información relacionada