Saltar al contenido

¿Qué hace adduser que useradd no hace?

Solución:

En primer lugar, los respectivos fragmentos de la página de manual resaltan las diferencias entre los dos comandos y dan alguna indicación de lo que está sucediendo. Para adduser:

adduser y addgroup agregan usuarios y grupos al sistema de acuerdo con las opciones de la línea de comandos y la información de configuración en /etc/adduser.conf. Son interfaces más amigables para las herramientas de bajo nivel como los programas useradd, groupadd y usermod, eligiendo por defecto valores UID y GID conformes a la política de Debian, creando un directorio de inicio con configuración esquelética, ejecutando un script personalizado y otras características.

Entonces para useradd:

useradd es una utilidad de bajo nivel para agregar usuarios. En Debian, los administradores normalmente deberían utilizar adduser (8) en su lugar.

Investigación adicional de adduser revela que es un script perl que proporciona una interfaz de alto nivel y, por lo tanto, ofrece algunas de las funciones de los siguientes comandos:

  • useradd
  • groupadd
  • passwd – utilizado para agregar / cambiar las contraseñas de los usuarios.
  • gpasswd – utilizado para agregar / cambiar contraseñas de grupo.
  • usermod – utilizado para cambiar varios parámetros asociados al usuario.
  • chfn – utilizado para agregar / cambiar información adicional almacenada en un usuario.
  • chage – utilizado para cambiar la información de caducidad de la contraseña.
  • edquota : se utiliza para cambiar las cuotas de uso del disco.

Una corrida básica del adduser comando es el siguiente:

adduser username

Este simple comando hará varias cosas:

  1. Crea el usuario nombrado username.
  2. Cree el directorio de inicio del usuario (el predeterminado es /home/username y copia los archivos de /etc/skel en ello.
  3. Cree un grupo con el mismo nombre que el usuario y coloque al usuario en él.
  4. Solicitar una contraseña para el usuario.
  5. Solicitar información adicional sobre el usuario.

los useradd La mayor parte del programa puede lograr la mayor parte de esto, sin embargo, no lo hace de forma predeterminada y necesita opciones adicionales. Parte de la información requiere más comandos:

useradd -m -U username
passwd username
chfn username

Tenga en cuenta que adduser asegura que los UID y GID creados se ajustan a la política de Debian. Creando usuarios normales con useradd parece estar bien, siempre que UID_MIN/UID_MAX en /etc/login.defs coincide con la política de Debian. Sin embargo, lo que es un problema es que Debian especifica un rango particular para los UID de usuario del sistema que solo parece ser compatible con /etc/adduser.conf, tan ingenuamente agregando un usuario del sistema con useradd y no especificar un UID / GUID en el rango correcto deja la posibilidad de problemas graves.

Otro uso común de adduser es simplificar el proceso de agregar un usuario a un grupo. Aquí, el siguiente comando:

adduser username newgroup

es equivalente a lo siguiente usermod mando:

usermod -a -G newgroup username

El principal inconveniente de usermod en este caso es que olvidar pasar la opción de agregar (es decir: -a) terminaría eliminando al usuario de todos los grupos antes de agregarlo a “nuevo grupo” (es decir: -G solo significa “reemplazar con”).

Una desventaja de usar adduser Sin embargo, aquí es que solo puede especificar un grupo a la vez.

Una diferencia significativa con la que me encontré (y no vi en una respuesta aquí), es la implicaciones de crear un usuario del sistema.

useradd --system parece implicar --shell /bin/bash, tiempo adduser --system implica --shell /usr/sbin/nologin, que es lo que quería.

Entonces, si no quiero ni un shell ni un directorio de inicio, podría usar useradd como esto

useradd --system --shell /usr/sbin/nologin foo

Lo que conduce, por ejemplo, a la siguiente entrada en /etc/passwd

foo:x:994:991::/home/foo:/usr/sbin/nologin

O usar agregar usuario como esto

adduser --system --no-create-home foo

Lo que conduce, por ejemplo, a la siguiente entrada en /etc/passwd

foo:x:110:65534::/home/foo:/usr/sbin/nologin

También, adduser no crea un grupo (el usuario 110 está en el grupo 65534, también conocido como sin grupo). La respuesta aceptada también menciona riesgos con respecto a (G) UID, así que definitivamente me quedaré con agregar usuario.

Fuente: probado en el sistema operativo Raspberry Pi (basado en Debian Buster).

los agregar usuario El comando de forma predeterminada también crea un directorio / home / user para los usuarios del sistema, lo que no puede hacer con el useradd mando. useradd solo agrega directorios de inicio para usuarios normales, no para usuarios del sistema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *