Introducción
SO Linux es único debido a su característica multiusuario que permite múltiples usuarios en un sistema, al mismo tiempo. Sin embargo, el seguimiento de todos los usuarios es esencial.
En este artículo, obtenga múltiples comandos para enumerar a todos los usuarios de Linux junto con su información de inicio de sesión. Estos comandos funcionan en CentOS, Ubuntu, Arch Linux y otras distribuciones de Linux también.
Requisitos previos
- Una distribución de Linux instalada y en ejecución
- Un usuario con privilegios sudo
- Acceso a una terminal/línea de comando
Lista de todos los usuarios de Linux, 2 opciones
Lista de todos los usuarios en Linux con el archivo /etc/passwd
Los detalles de los usuarios locales se pueden encontrar en /etc/passwd expediente. Cada línea contenida en el archivo contiene la información de un usuario.
Hay dos opciones.
Abra el etc/passwd archivo escribiendo el comando:
cat etc/passwd
Alternativamente, puede usar less
comando:
less etc/passwd
Lista de todos los usuarios de Linux con el getent Comando
Entradas de base de datos configuradas en /etc/nsswitch.conf El archivo incluye la base de datos passwd con todos los nombres de usuario e información de inicio de sesión.
Para extraer estos datos, use el comando:
getent passwd
Ambos Opción 1 y Opción 2 mostrará todos los usuarios y su información de inicio de sesión.
Cada línea representa un usuario y tiene siete (7) campos.
Los campos están separados por : (dos puntos) y cada línea incluye la siguiente información:
1. Nombre de usuario
2. La contraseña cifrada (representada por x , ubicado en el /etc/shadow expediente)
3. Número de ID de usuario (conocido como UID )
4. ID de grupo de usuarios (conocido como GID )
5. Nombre completo del usuario
6. Directorio de inicio del usuario
7. El shell de inicio de sesión (establecido de forma predeterminada en bin/bash )
Cómo enumerar solo los nombres de usuario de Linux
En caso de que no necesite toda la información relacionada con cada usuario, puede enumerar solo los nombres de usuario en el sistema Hay dos formas de ver solo el primer campo (el nombre de usuario) de cada usuario.
Opción 1 :Usando el comando awk o cut.
Para enumerar solo los nombres de usuario, puede usar cualquiera de los siguientes dos (2) comandos:
awk –F: ‘{ print $1}’ /etc/passwd
cut –d: –f1 /etc/passwd
Opción 2 :Usando el getent
comando con awk
y cut
.
Para leer y mostrar el nombre de usuario sin ninguna información adicional utilizando el getent
comando, ejecute el siguiente comando:
getent passwd | awk -F: ‘{ print $1}’
Alternativamente, use el comando:
getent passwd | –d: –f1
Cómo buscar usuarios de Linux existentes
El getent
El comando también le permite verificar si un usuario está presente en el sistema.
Cualquiera de los siguientes dos comandos le proporcionará esa información:
getent passwd | grep username
getent passwd username
Si el usuario existe, mostrará la información de inicio de sesión. Por otro lado, si no existe dicho usuario, no habrá salida.
Por ejemplo, en la imagen a continuación, la consulta muestra si un usuario llamado example existe El resultado prueba que dicho usuario existe.
Usuario del sistema frente a usuario normal
Un usuario del sistema es el que crea los usuarios normales. Por lo tanto, en este caso, el usuario del sistema es el root. Este usuario se crea cuando instala por primera vez el sistema operativo Linux. Además, puede crear usuarios del sistema para aplicaciones particulares.
Por otro lado, los usuarios normales son todos los usuarios que crea el root (o un usuario con privilegios sudo). Cada usuario normal y del sistema tiene un shell de inicio de sesión real, un directorio de inicio y un número de ID de usuario (UID). El número de ID de usuario se proporciona automáticamente en el rango entre los valores mínimo y máximo.
Cómo verificar UID_MIN y UID_MAX
Si desea verificar cuál es el rango de UID para usuarios normales, use grep con el siguiente comando:
grep –E”^UID_MIN|^UID_MAX” /etc/login.defs
El resultado muestra que todos los usuarios normales tienen un UID entre 1000 (UID_MIN) y 6000 (UID_MAX).
Cómo listar usuarios normales
Con estos números en mente, solicita una lista de todos los usuarios en ese rango con el comando:
getent passwd {1000..6000}
La consulta enumera todos los usuarios normales, como se ve en la imagen a continuación. En este ejemplo, hay dos usuarios normales en el rango especificado.