Articles

Cómo listar usuarios en CentOS

Los sistemas operativos basados en Linux como CentOS están diseñados para trabajar con un número masivo de usuarios al mismo tiempo. Si alguna vez has utilizado un alojamiento web compartido basado en Linux, entonces te habrás dado cuenta. Su nombre de usuario puede ser algo así como xyz_232323. Técnicamente significa que hay muchos usuarios y cada uno de ellos está numerado. Así que, como administrador de sistemas Linux, saber cómo listar los usuarios en CentOS y otra distribución de Linux es imprescindible.

En este artículo, te mostraré cómo listar usuarios en CentOS 7. Empecemos.

Los detalles de los usuarios se almacenan en el archivo /etc/passwd en el sistema operativo CentOS. Este es un archivo de texto plano. Así que puedes leerlo con el comando less o cat de la siguiente manera:

$ less /etc/passwd

Como puedes ver, se imprime una lista de todos los usuarios. La información sobre un solo usuario se almacena en un archivo /etc/passwd de una sola línea. Cada línea contiene mucha información sobre ese usuario específico separada por dos puntos (:)

Una línea del archivo /etc/passwd contiene la siguiente información separada por dos puntos (:)

Nombre de usuario : Contraseña : UID : GID : Detalles del usuario : Ruta del directorio de inicio : Shell por defecto

Aquí, Nombre de usuario – El nombre de inicio de sesión del usuario. No puede tener espacios ni otros caracteres especiales. Sólo se permiten caracteres alfanuméricos.

Contraseña – En el sistema operativo basado en Linux, como CentOS, la contraseña se almacena en el archivo /etc/shadow. Si se establece la contraseña, x se almacena en este campo.

UID – En los sistemas operativos basados en Linux, cada usuario tiene un nombre alfanumérico o Username y un ID numérico que se llama User ID o UID. Para los usuarios ordinarios, el UID comienza a partir de 1000. El usuario root tiene el UID 0.

GID – En los sistemas operativos basados en Linux, cada grupo tiene un nombre de grupo y un ID numérico que se llama Group ID o GID. En Linux, cada usuario debe ser miembro de al menos un grupo. Así que para cada usuario creado, también se crea un grupo con el mismo nombre que el nombre del usuario. El usuario se añade entonces al grupo. En este campo se añade el GID del grupo primario. El grupo primario es el grupo por defecto del usuario. Si un usuario es miembro de muchos grupos, puede cambiarlo mientras está conectado con el comando newgrp. El GID para los grupos ordinarios comienza en 1000. Si su sistema Linux no está configurado específicamente, el GID debe ser el mismo que el UID. El grupo raíz tiene el GID 0.

Detalles del usuario – Este campo mantiene el nombre completo y otra información personal sobre el usuario como lista separada por comas. El uso más común de este campo es establecer el nombre completo del usuario. Simplemente escriba aquí el nombre completo de su nombre de usuario y debería estar establecido.

Ruta del directorio de inicio – Este campo mantiene la ruta a un directorio donde se almacenarán todos los archivos del usuario. La variable de shell $HOME se establece desde este campo.

Shell por defecto – En los sistemas operativos basados en Linux, debe tener un shell establecido para su usuario. Por defecto, el shell sh (/bin/sh) y bash (/bin/bash) deben estar configurados para los usuarios ordinarios que pueden iniciar sesión en el sistema . Pero hay otros shells como zsh, csh, etc. Los usuarios del sistema tienen configurado el shell /sbin/nologin, por lo que no podrán iniciar sesión en el sistema. Si quieres deshabilitar el inicio de sesión para algún usuario, simplemente establece este campo para estos usuarios a /sbin/nologin.

Puedes obtener la misma información que hay en el fichero /etc/passwd con el siguiente comando:

$ getent passwd

Salida del getent password:

Extraer sólo la lista de nombres de usuario del fichero /etc/passwd:

El fichero /etc/passwd tiene mucha información. Si quieres extraer sólo el nombre de usuario de la lista separada por dos puntos(:), entonces puedes usar el comando awk o cut para hacerlo.

Puedes ejecutar el siguiente comando para extraer el nombre de usuario o login usando el comando cut:

$ cut -d: -f1 /etc/passwd

O

$ getent passwd | cut -d: -f1

Como puedes ver, se extraen todos los nombres de usuario.

Puedes hacer lo mismo con awk de la siguiente manera:

$ awk -F: ‘{print $1}’ /etc/passwd

O,

$ getent passwd | awk -F: ‘{print $1}’

Como puedes ver, obtengo la misma salida.

Listado de usuarios que pueden entrar en el sistema:

Si quieres listar todos los usuarios que pueden iniciar sesión en tu sistema operativo CentOS, entonces ejecuta el siguiente comando:

$ getent passwd | egrep -v ‘/s?bin/(nologin|shutdown|sync|halt)’ | cut -d: -f1

Como podéis ver, sólo 4 usuarios de mi máquina CentOS son capaces de iniciar sesión y los demás usuarios son del sistema. No pueden iniciar sesión en el sistema.

Así es como se listan los usuarios en CentOS. Gracias por leer este artículo.

Dejar una respuesta

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