¿Cómo crear un usuario el Linux? Para la creación de usuarios en Linux se utiliza el binario useradd. Es el mecanismo estándar y la manera de dar de alta usuarios en cualquier distribución.
Existe también la posibilidad de utilizar adduser. La diferencia entre ambos, reside en que adduser realmente es un script escrito en perl para ofrecer una interfaz más sencilla, pero por debajo utiliza también useradd.
Aunque es más sencillo de gestionar, adduser puede no estar disponible en algunas distribuciones, con lo que conviene aprender a utilizar useradd. Aprende cómo crear un usuario en linux.
Useradd
Uso básico
useradd sin ningún parámetro adicional, nos creará simplemente el usuario y grupo correspondiente y lo definirá dentro de los ficheros /etc/shadow y /etc/passwd. El usuario no tendrá ni home ni contraseña definida, con lo que no podrá hacer login en el sistema.
useradd nuevousuario
id nuevousuario # uid=1003(nuevousuario) gid=1003(nuevousuario) grupos=1003(nuevousuario)
grep nuevousuario /etc/passwd /etc/shadow # /etc/passwd:nuevousuario:x:1003:1003::/home/nuevousuario:/bin/bash # /etc/shadow:nuevousuario:<strong>!</strong>:18402:0:99999:7:::
Con contraseña y directorio home
Si queremos crear el usuario con directorio home (opción -m) y con una contraseña (opción -p) sería del siguiente modo. La contraseña hay que pasarla cifrada, con lo que primero generaríamos una con openssl.
Usando openssl
openssl passwd -6 # Password: # Verifying - Password: # $6$Euyt9ZYDa91LIxBc$MUgTLs.p0rrij/Uidx/8mD1byiKNJ3h3pbgE9P/0
useradd -m -p '$6$Euyt9ZYDa91LIxBc$MUgTLs.p0rrij/Uidx/8mD1byiKNJ3h3pbgE9P/0' nuevousuario
grep nuevousuario /etc/passwd /etc/shadow # /etc/passwd:nuevousuario:x:1008:1008::/home/nuevousuario:/bin/bash # /etc/shadow:nuevousuario:$6$Euyt9ZYDa91LIxBc$MUgTLs.p0rrij/Uidx/8mD1byiKNJ3h3pbgE9P/0:18402:0:99999:7:::
Usando passw
En cualquier caso, la manera más sencilla es dar de alta el usuario en dos pasos:
- Crear usuario
- Ajustar Calve
Para esta segunda parte, lo mejor es hacerlo con el binario passwd
passwd miusuario
Adduser
La otra manera de crear un usuario es, como se comenta al principio del post, usando el binario adduser:
adduser nuevousuario
Añadiendo el usuario `nuevousuario' ...
Añadiendo el nuevo grupo `nuevousuario' (1001) ...
Añadiendo el nuevo usuario `nuevousuario' (1001) con grupo `nuevousuario' ...
Creando el directorio personal `/home/nuevousuario' ...
Copiando los ficheros desde `/etc/skel' ...
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para nuevousuario
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: Mi Usuario
Número de habitación []:
Teléfono del trabajo []:
Teléfono de casa []:
Otro []:
¿Es correcta la información? [S/n] S
Automáticamente nos creará el directorio /home para el usuario y nos ajustará la clave que le indiquemos.
Anexo adduser y useradd
adduser
adduser [--home DIRECTORIO] [--shell SHELL] [--no-create-home] [--uid ID]
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GRUPO | --gid ID]
[--disabled-password] [--disabled-login] [--add_extra_groups] USUARIO
Añade un usuario normal
adduser --system [--home DIRECTORIO] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GRUPO | --gid ID] [--disabled-password]
[--disabled-login] [--add_extra_groups] USUARIO
Añade un usuario del sistema
adduser --group [--gid ID] GRUPO
addgroup [--gid ID] GRUPO
Añade un grupo de usuarios
addgroup --system [--gid ID] GRUPO
Añade un grupo del sistema
adduser USUARIO GRUPO
Añade un usuario existente a un grupo existente
opciones generales:
--quiet | -q no mostrar información del proceso en
la salida estándar
--force-badname permitir nombres de usuarios que no
coincidan con la variable de configuración
NAME_REGEX
--help | -h mensaje de uso
--version | -v número de versión y copyright
--conf | -c FICHERO usa FICHERO como fichero de configuración
useradd
Modo de uso: useradd [opciones] USUARIO
useradd -D
useradd -D [opciones]
Opciones:
-b, --base-dir DIR_BASE directorio base para el directorio personal
de la nueva cuenta
-c, --comment COMENTARIO campo GECOS de la nueva cuenta
-d, --home-dir DIR_PERSONAL directorio personal de la nueva cuenta
-D, --defaults imprime o cambia la configuración
predeterminada de useradd
-e, --expiredate FECHA_CADUCIDAD fecha de caducidad de la nueva cuenta
-f, --inactive INACTIVO periodo de inactividad de la contraseña
de la nueva cuenta
-g, --gid GRUPO nombre o identificador del grupo primario de
la nueva cuenta
-G, --groups GRUPOS lista de grupos suplementarios de la nueva
cuenta
-h, --help muestra este mensaje de ayuda y termina
-k, --skel DIR_SKEL utiliza este directorio «skeleton» alternativo
-K, --key CLAVE=VALOR sobrescribe los valores predeterminados de
«/etc/login.defs»
-l, --no-log-init no añade el usuario a las bases de datos de
lastlog y faillog
-m, --create-home crea el directorio personal del usuario
-M, --no-create-home no crea el directorio personal del usuario
-N, --no-user-group no crea un grupo con el mismo nombre que el
usuario
-o, --non-unique permite crear usuarios con identificadores
(UID) duplicados (no únicos)
-p, --password CONTRASEÑA contraseña cifrada de la nueva cuenta
-r, --system crea una cuenta del sistema
-R, --root CHROOT_DIR directory to chroot into
-s, --shell CONSOLA consola de acceso de la nueva cuenta
-u, --uid UID identificador del usuario de la nueva cuenta
-U, --user-group crea un grupo con el mismo nombre que el
usuario
-Z, --selinux-user USUARIO_SE utiliza el usuario indicado para el usuario
de SELinux