🥇 Manejo de usuarios en Linux

En este capítulo vamos a analizar los diferentes tipos de usuarios que existen en Linux.

🍿 ¿Cómo ver que otros usuarios están conectados dentro de Linux?

Para ver que otros usuarios están conectados dentro de Linux podemos usar el comando who.

$ who
luis  tty7         2020-02-17 10:21 (:0)

Si no hay otros usuarios conectados en este momento, solo nos mostrará nuestro propio usuario como es mi caso. En la segunda columna vemos que terminal usan y en que momento iniciaron sesión.

Otra forma de obtener mas información de los usuarios logueados es utilizando el comando w. Este hace la misma función que el comando who pero con muestra mas información aun.

$ w
10:46:59 up 26 min,  3 users,  load average: 2.69, 1.91, 1.31
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
luis  tty7     :0               10:21   26:08   2:45   0.49s cinnamon-session --session cinnamon

Al utilizar el comando w de Linux, podemos ver la cantidad de CPU que el usuario esta utilizando y mediante cual proceso. Esta información es muy valiosa para los administradores de sistemas ya que pueden ver que usuario esta provocando un problema mayor de uso del CPU.

🍿 ¿Cómo consultar los grupos a los que pertenece un usuario en Linux?

Para ver los detalles acerca de nuestra cuenta podemos utilizar el comando id de linux.

$ id
uid=1000(luis) gid=1000(luis) groups=1000(luis),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),112(lpadmin),128(sambashare),130(docker),135(kvm)

Las primeras tres columnas muestran la información mas importante.

uid=1000(luis) Id del usuario
Este es el nombre de usuario que utilizamos como tal.
gid=1000(luis) Grupo primario del usuario
Por lo general y dependiendo de la distribución Linux, se crea un grupo con el mismo nombre que tiene el usuario.
groups=1000(luis) Grupos secundarios
Estos son el resto de grupos a los cuales el usuario puede pertenecer (en este caso solo lista el grupo primario debido a que mi usuario no pertenece a otros grupos)

Para obtener información mas detallada de los grupos a los que pertene el usuario podemos utilizar el comando id usuario.

$ id luis
uid=1000(luis) gid=1000(luis) groups=1000(luis),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),112(lpadmin),128(sambashare),130(docker),135(kvm)

Ahora podemos notar que el usuario luis esta también asociado a otros grupos como www-data, que es el mismo grupo con el que trabaja Apache o httpd. Otro de los grupos a los que tiene acceso es al grupo sudo (sudoers) que le otorga permisos para ejecutar comandos en modo administrador.

🍿 El archivo /etc/sudoers

En el archivo /etc/sudoers se almacena la lista de usuarios que tienen privilegios de sudo.

$ sudo less /etc/sudoers

En el caso de mi distribución los usuarios dentro del grupo sudo son los que tienen este privilegio.

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

🍿 El archivo /etc/passwd

En el archivo /etc/passwd se almacena la información principal de cada una de las cuentas que existe en el sistema y cada fila representa un usuario.

$ sudo less /etc/passwd
.
luis:x:1000:1000:luis,,,:/home/luis:/usr/bin/zsh
luis (nombre de usuario)
La primera columna de cada fila representa el nombre del usuario.
x (contraseña)
La segunda indica la contraseña, si aparece una x esto quiere decir que la contraseña se encuentra encriptada.
1000 (id del usuario)
La tercera columna muestra el id del usuario.
1000 (id del grupo)
La cuarta columna muestra el id del grupo primario para este usuario.
luis (comentario)
La quinta columna es el campo de comentario, usualmente es el nombre completo del usuario o el propósito de la cuenta.
/home/luis (home)
La sexta columna indica el path completo del directorio home del usuario.
/usr/bin/zsh (shell)
La última columna indica la versión del shell que el usuario esta utilizando.

🍿 El archivo /etc/group

En el archivo /etc/group se almacenan todas la información de los grupos y los usuarios asociados a estos.

$ sudo less /etc/group
.
docker:x:130:luis
docker (grupo)
Este es el nombre del grupo.
x (contraseña)
La contraseña del grupo si esta fue definida (la x significa que esta encriptada).
130 (groupid)
El id del grupo (un identificador único para cada grupo).
luis (usuarios)
La última columna indica la asociación del usuario al grupo, en este caso el usuario luis forma parte del grupo docker. Cuando existen mas de un usuario asociados a un grupo estos son separados por comas.

Para la cuenta root el id del usuario siempre es 0.