¿Alguna vez ha querido enumerar todos los usuarios en su sistema Linux o contar el número de usuarios en el sistema? Hay comandos para crear un usuario, eliminar un usuario, enumerar los usuarios registrados, pero ¿cuál es el comando para enumerar todos los usuarios en Linux?
Este tutorial le mostrará cómo enumerar usuarios en sistemas Linux.
Obtenga una lista de todos los usuarios usando el archivo / etc / passwd #
La información del usuario local se almacena en el archivo /etc/passwd
. Cada línea de este archivo representa la información de inicio de sesión de un usuario. Para abrir el archivo, puede usar cat
o less
:
Cada línea del archivo tiene siete campos delimitados por dos puntos que contienen la siguiente información:
Si desea mostrar solo el nombre de usuario puede utilizar los comandos awk
o cut
para imprimir solo el primer campo que contiene el nombre de usuario:
Obtenga una lista de todos los usuarios mediante el comando getent #
El comando getent
muestra las entradas de las bases de datos configuradas en el archivo /etc/nsswitch.conf
, incluido el passwd
base de datos, que se puede usar para consultar una lista de todos los usuarios.
Para obtener una lista de todos los usuarios de Linux, ingrese el siguiente comando :
Como puede ver, el resultado es el mismo que cuando se muestra el contenido del archivo /etc/passwd
. Si utiliza LDAP para la autenticación de usuarios, getent
mostrará todos los usuarios de Linux tanto del archivo /etc/passwd
como de la base de datos LDAP.
También puede utilizar awk
o cut
para imprimir solo el primer campo que contiene el nombre de usuario:
Compruebe si existe un usuario en el sistema Linux #
Ahora que sabemos cómo enumerar todos los usuarios, para comprobar si existe un usuario en nuestra caja de Linux, podemos simplemente filtrar la lista de usuarios «canalizando la lista al comando grep
.
Por ejemplo, para averigüe si existe un usuario con el nombre jack
en nuestro sistema Linux, podemos usar el siguiente comando:
Si el usuario existe, el comando anterior imprimirá el inicio de sesión del usuario información. No hay salida que signifique que el usuario no existe.
También podemos verificar si un usuario existe sin usar el comando grep
como se muestra a continuación:
Igual que antes, si el usuario existe, el comando mostrará la información de inicio de sesión del usuario.
Si desea saber cuántas cuentas de usuario que tiene en su sistema, canalice la salida getent passwd
al wc
comando:
Como puede ver en el resultado anterior, mi sistema Linux tiene 33 cuentas de usuario.
Sistema y usuarios normales #
No existe una diferencia técnica real entre el sistema y los usuarios habituales (normales). Normalmente, los usuarios del sistema se crean al instalar el sistema operativo y los nuevos paquetes. En algunos casos, puede crear un usuario del sistema que será utilizado por algunas aplicaciones.
Los usuarios normales son los usuarios creados por la raíz u otro usuario con privilegios sudo. Por lo general, un usuario normal tiene un shell de inicio de sesión real y un directorio de inicio.
Cada usuario tiene un ID de usuario numérico llamado UID. Si no se especifica al crear un nuevo usuario con el comando useradd
, el UID se seleccionará automáticamente del archivo /etc/login.defs
según el UID_MIN
y UID_MIN
valores.
Para comprobar los valores UID_MIN
y UID_MIN
valores en su sistema, puede usar el siguiente comando:
A partir de la salida anterior, podemos ver que todos los usuarios normales deben tener un UID entre 1000 y 60000. Conocer el valor mínimo y máximo nos permite consultar una lista de todos los usuarios normales en nuestro sistema.
El siguiente comando enumerará todos los usuarios normales en nuestro sistema Linux:
Los valores de su sistema UID_MIN
y UID_MIN
pueden ser diferentes, por lo que la versión más genérica del comando anterior sería:
Si desea imprimir solo los nombres de usuario, simplemente canalice la salida al comando cut
:
Conclusión #
En este tutorial, aprendió cómo listar y filtrar usuarios en su sistema Linux y cuáles son las principales diferencias entre el sistema y Linux normal usuarios.
Los mismos comandos se aplican a cualquier distribución de Linux, incluidos Ubuntu, CentOS, RHEL, Debian y Linux Mint.