GNU/Linux >> Tutoriales Linux >  >> Linux

Useradd vs Adduser:¿Cuál es la diferencia?

Cuando se trata de crear un nuevo usuario en Linux, tiene la opción de usar el comando adduser o useradd.

Entonces, ¿cuál es la diferencia entre los comandos useradd y adduser? ¿Es uno de ellos mejor que el otro? ¿Cual deberías utilizar? ¿useradd o adduser?

Diferencia entre los comandos adduser y useradd

Useradd es un comando de Linux incorporado que se puede encontrar en cualquier sistema Linux. Sin embargo, crear nuevos usuarios con este nivel bajo es una tarea tediosa porque no crea el directorio de inicio ni la contraseña de usuario de manera predeterminada.

Adduser no es un comando estándar de Linux. Es esencialmente un script de Perl que usa el comando useradd en segundo plano. Esta utilidad de alto nivel es más eficiente para crear correctamente nuevos usuarios en Linux. Le da la opción de crear un directorio de inicio, establecer una contraseña junto con algunos parámetros más.

Echemos un vistazo a estos dos comandos y cómo crean usuarios en Linux.

comando Useradd

Primero, echemos un vistazo al comportamiento predeterminado del comando useradd. ¿Alguna vez has ejecutado el siguiente comando?

useradd new_user

Todavía tengo que ver una distribución en la que este comando haya creado una cuenta de usuario completa. Incluso después de establecer una contraseña para el nuevo usuario, necesitará usar opciones adicionales con él.

Por ejemplo, en mi sistema, el comando anterior agregó la siguiente entrada en el archivo /etc/passwd.

Si lee el artículo sobre la lista de usuarios en Linux, probablemente ya esté familiarizado con el contenido del archivo /etc/passwd. Se ve bien al principio, pero si comienzas a investigar, pronto notarás que algunas cosas no están del todo bien.

Primero, el segundo campo contiene 'x'. Esto significa que el marcador de posición para la información de la contraseña está en /etc/shadow. Pero no he puesto una contraseña. Esto significa que el usuario de prueba no podrá iniciar sesión.

En segundo lugar, el directorio de inicio. El caso es que /home/test no existe. Incluso después de establecer una contraseña, se producirá un error si el usuario inicia sesión. Dependiendo de otra configuración, su sistema Linux puede impedir que un usuario sin un directorio de inicio válido inicie sesión. Lo más probable es que el usuario prueba se le permitiría iniciar sesión en su sistema, al menos en modo de texto. Pero el usuario prueba no se le permitirá crear su directorio de inicio.

En tercer lugar, el shell de inicio de sesión predeterminado es sh, no bash. No uso sh como caparazón. Probablemente tú tampoco, porque bash es el shell predeterminado en la mayoría de las distribuciones de Linux.

Si bien el comportamiento de useradd se puede modificar ligeramente editando /etc/login.defs, hay pocas o ninguna posibilidad de que el comando anterior cree una cuenta de usuario completa. Useradd es una utilidad de bajo nivel. Aún así, puede ser útil revisar la configuración en /etc/login.defs.

Comando Agregarusuario

El comando Adduser no está disponible en algunas distribuciones de Linux. En otros, es un enlace suave a useradd. Mientras que en otros, es un script de Perl.

Adduser es una utilidad interactiva de alto nivel. Utiliza la utilidad de bajo nivel useradd como backend. La configuración en /etc/login.defs se usará al usar el comando adduser. En las distribuciones basadas en Debian, incluso la página de manual recomienda su uso sobre el comando useradd.

Llamar a adduser con solo un nombre de usuario lo guiará a través de una serie de preguntas.

Después de responder algunas preguntas, se creará una cuenta de usuario completa con directorio de inicio. El nuevo usuario está listo para iniciar sesión a través de su administrador de inicio de sesión o en el modo de texto.

Para lograr casi el mismo resultado usando la utilidad de bajo nivel useradd, el comando sería similar a este:

sudo useradd -d /home/test -m -s/bin/bash \ -c FullName,Phone,OtherInfo test && passwd test

La -c las opciones se pueden eliminar sin problemas, la lista separada por comas que sigue son comentarios agregados a /etc/passwd. Pero incluso entonces, adduser le ahorra dos comandos adicionales.

El comando Adduser tiene una lista de opciones disponibles para usted. Aquí hay una breve lista que creo que será más útil saber. Consulte la ayuda o la página del manual para obtener más detalles.

  • sistema:agregue un usuario del sistema. De manera predeterminada, los usuarios del sistema se ubican en un grupo sin grupo. Para agregar un usuario del sistema a un grupo existente, proporcione la opción –gid o –ingroup.
  • DIR de inicio:use DIR como directorio de inicio en lugar del predeterminado. Se creará un directorio si es necesario y se copiarán los archivos básicos.
  • shell SHELL:use SHELL en lugar del predeterminado.
  • ingroup GROUP:establezca el grupo principal del usuario en GROUP
  • add_extra_groups:agrega un nuevo usuario al grupo adicional definido en el archivo de configuración.

El archivo de configuración de Adduser le permite establecer los valores predeterminados que se utilizarán al crear la cuenta. El archivo está bien documentado y le permite establecer valores predeterminados como:

  • Concha predeterminada
  • Directorio de inicio
  • Grupos adicionales
  • Agregar grupos adicionales

Conclusión

En mi experiencia personal como administrador del sistema, adduser es mucho mejor para crear nuevos usuarios en Linux. Prefiero adduser sobre useradd cualquier día y recomiendo lo mismo.

¿Y usted? ¿Cuál prefieres entre adduser y useradd?


Linux
  1. Linux:¿el uso de la opción -o en el comando Useradd?

  2. ¿Cuál es la diferencia entre localizar y encontrar el comando en Linux?

  3. Ejemplos de comandos adduser en Linux

  4. ¿Cuál es la diferencia entre &> y >&en bash?

  5. ¿Qué es el usuario debian-+?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿El comando de apagado?

iptables vs nftables:¿Cuál es la diferencia?

¿Cuál es la diferencia entre los comandos kill y killall?

¿Qué es el comando matar en Linux?

useradd vs adduser:¿Cuáles son las diferencias?