Gestión de Usuarios y Grupos en Linux
Con este Post se explican los comandos para gestionar usuarios y grupos en Linux. El texto inicial es solo la descripción de cómo me he conectado. Al final del POST tienes el video con TODA LA DEMOSTRACIÓN y CREACIÓN de un escenario ejemplo.
En primer lugar indicar la versión del sistema operativo con la que estoy haciendo la demo:
demo@userver:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal demo@userver:~$ hostnamectl Static hostname: userver Icon name: computer-vm Chassis: vm Machine ID: f10a438acdb9416fbbffc0df1779880c Boot ID: 2769e2223eda486a9904d5c7d2fd6c07 Virtualization: vmware Operating System: Ubuntu 20.04.1 LTS Kernel: Linux 5.4.0-42-generic Architecture: x86-64
Así mismo indicar la IP de mi máquina a la que haremos referencia en alguna ocasión a lo largo del POST:
demo@userver:~$ ip -4 address show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.153.128/24 brd 192.168.153.255 scope global dynamic ens33 valid_lft 1569sec preferred_lft 1569sec
En primer lugar nos conectaremos al servidor mediante ssh. Para ello y con propósitos de “probar cuantas más cosas mejor”, utilizaré en esta ocasión Windows Terminal Preview, aplicación que la podemos instalar desde Microsoft Store. Podemos utilizar evidentemente cualquier otra aplicación con la que estemos más cómodos, como Putty
Nos conectaremos al servidor a través de la Shell de Windows Terminal especificando usuario@ip_del_servidor
Una vez introduzcamos el password ya estaremos validados en el servidor con el usuario que hayamos especificado, demo en mi caso.
demo@userver:~$ who a mi demo pts/0 2020-10-31 09:09 (192.168.153.1)
Recordar que solo el usuario root o usuarios con privilegios de sudo pueden gestionar usuarios y grupos.
Es importante tener en cuenta los ficheros del sistema donde se almacena la información de usuarios, grupos y passwords:
/etc/passwd
Almacena las cuentas de usuarios del sistema. Veamos las tres primeras líneas del fichero
root@userver:~# cat /etc/passwd | head -3 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin
/etc/group
Almacena los grupos y usuarios dentro de estos del sistema. Veamos las tres primeras líneas del fichero
root@userver:~# cat /etc/passwd | head -3 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin /etc/shadows
/etc/shadow
Almacena las contraseñas de los usuarios del sistema. Veamos la contraseña encriptada evidentemente del usuario demo.
root@userver:~# cat /etc/shadow | grep -i demo demo:$6$dkg.v9LbSYjWwnkd$LkJWI8n2FlMs3HiPyqWORzcergTbKTh/qvWyPjWMwBKqu0MgK/blB.D9jcXsT6el/TXi.jylPimA7L0Y5LeNU1:18566:0:99999:7:::
Listamos a continuación los comandos que permiten gestionar usuarios y grupos en sistemas linux:
- useradd : Añadir un usuario
- usermod : Modificar un usuario
- userdel : Eliminar un usuario
- groupadd : Añadir un grupo.
- groupmod : Modificar un grupo.
- groupdel : Eliminar un grupo.
- gpasswd: elimina a un usuario de un grupo
VIDEO DEMOSTRACIÓN