Crear usuarios en Linux
A la hora de crear y manejar usuarios en Linux tienes varias opciones a tu disposición, pero los comando que más se suelen utilizar son los que vamos a ver a continuación. Yo aquí te voy a explicar varios comandos que puedes utilizar en la terminal del Linux de cualquier distribución.
También puedes acceder al curso gratuito para aprender Linux en esta misma web, donde te enseñaré a instalar Linux de forma sencilla en una máquina virtual y así podrás manejar tu propio Linux desde cualquier distribución.
Para crear un nuevo usuario en tu sistema Linux, los comandos que más se utilizan son “adduser” y “useradd”, que aunque parecen el mismo, no lo son.
Índice de contenidos
Diferencia adduser vs useradd
La principal diferencia entre entre estos dos comandos es que el comando “useradd” es un comando nativo del sistema y es el comando original por decirlo así. En cambio “adduser” es un script escrito en lenguaje de programación Perl y que utiliza el comando nativo “useradd”, pero lo han vitaminado para que sea más fácil de usar.
Yo voy a explicar las opciones disponibles para el comando “adduser“, pero como sabes el “man” es tu amigo y si quieres saber más opciones de “useradd” tienes a tu disposición mucha información en tu propia terminal.
Si quieres saber los valores que se van a asignar por defecto a la hora de crear nuevos usuarios con “adduser” puedes acceder al fichero “/etc/adduser.conf“ y podrás revisar los datos que se van a asignar a un nuevo usuario y decidir si cambiar alguno de ellos.
Crear un usuario básico en Linux
Cuando creas un usuario básico con todas las opciones por defecto los datos que te van a aparecer por pantalla deben ser algo parecido a esto:
root@aprendolinux:/home/jaime# adduser aprendolinux
Añadiendo el usuario `aprendolinux' ...
Añadiendo el nuevo grupo `aprendolinux' (1001) ...
Añadiendo el nuevo usuario `aprendolinux' (1001) con grupo `aprendolinux' ...
Creando el directorio personal `/home/aprendolinux' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX: ********
Vuelva a escribir la nueva contraseña de UNIX: ********
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para aprendolinux
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: Aprendo Linux
Número de habitación []:
Teléfono del trabajo []: 0034 6112233
Teléfono de casa []:
Otro []:
¿Es correcta la información? [S/n] S
Como puedes ver se ha creado un usuario con la información que está almacenada por defecto en el fichero de configuración. Si quieres cambiar algunos datos al crear el usuario sigue leyendo los siguientes ejemplos.
Crear usuarios cambiando el home por defecto en Linux
Si lo que quieres es crear un nuevo usuario pero no quieres que el home del usuario sea el típico “/home/user” y quieres ponerle un nombre más molón, puedes utilizar el comando con la opción “–home” y crearás el home del usuario donde tu decidas o con el nombre que más te guste.
root@aprendolinux:/home/jaime# adduser --home /home/al aprendolinux
Añadiendo el usuario `aprendolinux' ...
Añadiendo el nuevo grupo `aprendolinux' (1001) ...
Añadiendo el nuevo usuario `aprendolinux' (1001) con grupo `aprendolinux' ...
Creando el directorio personal `/home/al' ... <---- ¡Aquí se crea el home!
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX: ********
Vuelva a escribir la nueva contraseña de UNIX:********
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para aprendolinux
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: AprendoLinux
Número de habitación []:
Teléfono del trabajo []:
Teléfono de casa []:
Otro []:
¿Es correcta la información? [S/n] S
Crear un usuario cambiando el grupo
También tienes la posibilidad de crear un usuario, pero que no se cree por defecto un grupo con el mismo nombre, sino asignarle a este usuario un grupo determinado.
Además puedes combinar varias opciones a la vez como en este ejemplo.
root@aprendolinux:/home/jaime# adduser --home /home/al --ingroup www-data aprendolinux
Añadiendo el usuario `aprendolinux' ...
Añadiendo el nuevo usuario `aprendolinux' (1001) con grupo `www-data' ...
Creando el directorio personal `/home/al' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX: ******
Vuelva a escribir la nueva contraseña de UNIX:******
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para aprendolinux
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: AprendoLinux
Número de habitación []:
Teléfono del trabajo []:
Teléfono de casa []:
Otro []:
¿Es correcta la información? [S/n] S
root@aprendolinux:/home/jaime# ls -las /home/al
total 24
4 drwxr-xr-x 3 aprendolinux www-data 4096 jun 29 23:46 .
Como ves el grupo al que pertenece el nuevo usuario aprendolinux es “www-data” en este caso y por tanto no se ha creado un grupo con su nombre.
Crear un usuario cambiando la shell o sin login
Algunas veces quieres crear un usuario pero no quieres que utilice la shell por defecto (que suele ser “/bin/bash“, pero puede estar definida en el fichero “/etc/adduser.conf“) y que utilice por ejemplo dash, ksh o alguna otra shell de Debian que podemos utilizar.
root@aprendolinux:~# adduser --shell /bin/dash aprendolinux
Añadiendo el usuario `aprendolinux' ...
Añadiendo el nuevo grupo `aprendolinux' (1001) ...
Añadiendo el nuevo usuario `aprendolinux' (1001) con grupo `aprendolinux' ...
Creando el directorio personal `/home/aprendolinux' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para aprendolinux
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: Aprendo Linux
Número de habitación []:
Teléfono del trabajo []:
Teléfono de casa []:
Otro []:
¿Es correcta la información? [S/n] S
root@aprendolinux:~# grep aprendolinux /etc/passwd
aprendolinux:x:1001:1001:Aprendo Linux,,,:/home/aprendolinux:/bin/dash
También podemos estar en la situación en la que queremos crear un usuario para un determinado uso pero no queremos que tenga la opción de hacer login, y esta opción de crear un usuario sin login también se realiza con esta opción.
root@aprendolinux:~# # USANDO nologin
root@aprendolinux:~# adduser --shell /usr/sbin/nologin aprendolinux
root@aprendolinux:~# grep aprendolinux /etc/passwd
aprendolinux:x:1001:1001:Aprendolinux,,,:/home/aprendolinux:/usr/sbin/nologin
root@aprendolinux:~# # USANDO false
root@aprendolinux:~# adduser --shell /bin/false aprendolinux
root@aprendolinux:~# grep aprendolinux /etc/passwd
aprendolinux:x:1001:1001:Aprendolinux,,,:/home/aprendolinux:/bin/false