Inicio APP y Software ¿Cómo listar usuarios en Linux?

¿Cómo listar usuarios en Linux?

707
0

La gestión de usuarios es una tarea crítica de administración del sistema Linux. En grandes organizaciones, tener una visión clara de quién tiene acceso al sistema es crucial para agregar, eliminar usuarios y asignar nuevos privilegios a los usuarios.

Este tutorial te mostrará cómo listar usuarios en un sistema basado en Linux. La guía proporciona cuatro métodos de listado y explica conceptos esenciales relacionados con la administración de usuarios.

Prerrequisitos

  • Un sistema con Linux.
  • Acceso a la terminal/línea de comandos.

Listar usuarios en Linux

Linux almacena información sobre usuarios locales en el archivo /etc/passwd. Cada línea del archivo contiene información sobre un único usuario, incluyendo su nombre de usuario, número de ID de usuario (UID), directorio principal y la shell de inicio de sesión.

Las siguientes secciones presentan múltiples formas de acceder a los datos en /etc/passwd y listar usuarios en distribuciones Linux.

Los comandos utilizados en el tutorial son:

  • El comando cat
  • El comando less
  • El comando awk
  • El comando getent

Nota: Para mostrar una lista de los usuarios conectados y la información como tiempo de arranque, procesos, nombres de host y más, usa el comando who.

Listar usuarios con el comando cat

El comando cat ofrece una forma directa de listar el contenido del archivo /etc/passwd.

Para ver el archivo, escribe:

cat /etc/passwd

El sistema muestra el archivo completo con todos los usuarios en el sistema.

listar usuarios en linux 1

Para ver solo el número de usuarios, canaliza la salida del comando anterior al comando wc y haz que cuente el número de líneas:

cat /etc/passwd | wc -l

El número de líneas en /etc/passwd corresponde al número total de usuarios.

listar usuarios en linux 2

Listar usuarios con los paginadores de terminal less y more

En sistemas con muchos usuarios, es útil limitar la salida del archivo /etc/passwd mostrada de una vez. Usa un comando paginador de terminal, como less o more, para navegar por el contenido del archivo línea por línea o página por página.

Te recomendamos  ¿Cómo usar el comando grep en Linux/UNIX?

Para abrir /etc/passwd usando less, ingresa:

less /etc/passwd

La primera página del archivo aparece en la salida. La lista se detiene cuando llega al final de la pantalla del terminal. Usa el teclado para navegar por el archivo.

listar usuarios en linux 3

Usa more para obtener un resultado similar. Este comando es más antiguo y tiene un conjunto más limitado de funcionalidades:

more /etc/passwd

listar usuarios en linux 4

Listar usuarios con el comando awk

Usa el comando awk para listar solo los nombres de usuario, sin información adicional sobre cada usuario. Dado que los campos de datos en /etc/passwd están separados por un símbolo de dos puntos, la siguiente sintaxis le dice a awk que muestre solo el primer campo en cada línea:

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

listar usuarios en linux 5

Combina awk y less para una vista página por página de los resultados.

awk -F':' '{ print $1}' /etc/passwd | less

Listar usuarios con el comando getent

El comando getent busca y muestra entradas de la base de datos del sistema. Las bases de datos que se pueden buscar están listadas en el archivo /etc/nsswitch.conf. Por defecto, el archivo incluye la base de datos passwd.

Lista el contenido completo de la base de datos passwd escribiendo:

getent passwd

La salida es la misma que la salida del comando cat.

listar usuarios en linux 6

Sin embargo, puedes usar getent para buscar usuarios específicos. Para hacerlo, usa la siguiente sintaxis:

getent passwd [nombre_de_usuario]

Si el usuario existe en el sistema, el comando muestra la línea de entrada de passwd relacionada.

listar usuarios en linux 7

Listar usuarios normales y del sistema en Linux

Los sistemas basados en Linux tienen dos tipos de usuarios: usuarios del sistema y usuarios normales.

  • Los usuarios del sistema son entidades creadas por el sistema para ejecutar procesos no interactivos, es decir, procesos que se ejecutan en segundo plano y no requieren interacción humana. El usuario del sistema más importante es root, que posee privilegios administrativos.
  • Los usuarios normales son usuarios humanos creados por root o por otro usuario con privilegios de root. Cada usuario normal tiene una shell de inicio de sesión y un directorio principal para almacenar sus archivos.
Te recomendamos  ¿Cómo generar clave SSH en Windows 10?

Tanto los usuarios del sistema como los usuarios normales en Linux tienen un ID de usuario único (UID) para identificarlos. Los usuarios del sistema tienen UIDs en el rango de 0 (usuario root) a 999. Los usuarios normales generalmente reciben UIDs desde 1000 en adelante, y cada usuario recién creado recibe el siguiente UID no utilizado más pequeño.

Para verificar el rango de UID para usuarios normales, usa el comando grep para buscar la información almacenada en /etc/login.defs:

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

La salida en este ejemplo muestra que el UID más pequeño que un usuario normal puede recibir es 1000, y el más grande es 60000.

listar usuarios en linux 8

Usa getent para buscar en la base de datos passwd por UID:

getent passwd [UID]

La salida muestra la entrada del usuario relacionada con el UID.

listar usuarios en linux 9

Usa UIDs en combinación con getent para buscar usuarios en un rango:

getent passwd {[primer-UID]..[último-UID]}

El comando ahora lista todos los usuarios dentro del rango de UID especificado.

listar usuarios en linux 10

Esta guía te mostró cómo listar todos los usuarios de Linux, buscar usuarios y encontrar el número de usuarios de Linux en cualquier distribución de Linux. Si quieres aprender más sobre cómo manejar este sistema operativo, revisa el resto de nuestros artículos en Portalmastips. Recientemente, sacamos una guía sobre qué es sudo rm -rf en Linux y cuáles son sus verdaderos riesgos.