GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo enumerar todos los usuarios en Linux

Esta breve guía explica cómo enumerar todos los usuarios en los sistemas operativos Linux. Antes de entrar en materia, veremos qué es el archivo /etc/passwd. Porque dependemos de este archivo a lo largo de esta guía.

Una breve nota sobre el archivo /etc/passwd

En Linux (y Unix en general), la información básica sobre cada cuenta de usuario se almacena en "/etc/passwd" expediente. No es más que un archivo de texto sin formato que contiene los atributos de todas las cuentas de usuario presentes en un sistema Linux.

De forma predeterminada, todos los usuarios pueden leer este archivo con la ayuda de cualquier programa gráfico o de texto, como Vi, Nano, Gedit, etc. o con comandos como "cat ".

Si abre este archivo..

$ cat /etc/passwd

... verá varias entradas como las siguientes:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
[...]

Cada línea del archivo /etc/passwd representa un solo usuario. El usuario root aparecerá en la parte superior. Cada línea contiene siete atributos o campos separados por dos puntos sin espacios entre cada campo. El nombre de los siete campos se dan a continuación:

  1. nombre,
  2. contraseña,
  3. ID de usuario,
  4. ID de grupo,
  5. gecos,
  6. directorio de inicio,
  7. concha.

1. Nombre

El "nombre" El campo es el nombre de inicio de sesión del usuario que utiliza para iniciar sesión en su caja de Linux.

2. Contraseña

La "contraseña" El campo simplemente contiene una letra X. Significado:la contraseña está encriptada y almacenada en un archivo separado llamado "/etc/shadow" por motivos de seguridad. Los usuarios normales no pueden leer /etc/shadow. Aquí la X indica que el usuario tiene una contraseña. Si este campo está vacío, el usuario no tiene contraseña, por lo que puede iniciar sesión sin contraseña.

3. ID de usuario

El "ID de usuario " (o UID para abreviar) indica el número de identificación numérico único del usuario. El UID de la cuenta raíz es 0 (cero). Los números del 1 al 99 están reservados para cuentas del sistema. Y los números que van del 100 al 999 están reservados para usuarios normales y grupos.

4. ID de grupo

El "ID de grupo" (o GID en breve) indica el identificador de grupo principal al que pertenece el usuario. El GID suele ser el mismo que el UID.

5. Gecos

Los "gecos" El campo contiene la información general de un usuario. Por ejemplo, puede contener el nombre real del usuario. Este archivo puede estar vacío separado por dos puntos o puede contener varias entradas separadas por comas.

6. Directorio de inicio

El "directorio de inicio" El campo indica la ruta completa del directorio de inicio del usuario, por ejemplo /home/sk . Este es el directorio en el que el usuario se encuentra primero cuando inició sesión en un sistema. El directorio de inicio suele contener programas y archivos de configuración que pertenecen al usuario.

7. Concha

El último archivo es "shell" . Indica la ruta completa del shell predeterminado para ese usuario.

Ahora, tomemos la siguiente línea como ejemplo:

root:x:0:0:root:/root:/bin/bash

En la línea de arriba,

  • raíz - es el nombre de usuario,
  • x - indica que el usuario raíz tiene contraseña,
  • 0 - El primer 0 (cero) indica el UID,
  • 0 - El segundo cero indica el GID,
  • raíz - Indica el nombre real del usuario.
  • /raíz - Es el directorio de inicio del usuario root,
  • /bin/bash - Shell predeterminado para el usuario root.

Espero que tenga una idea básica sobre el archivo /etc/passwd. Ahora volvamos a nuestro tema, es decir, una lista de todos los usuarios en un sistema Linux.

Lista de todos los usuarios en Linux

Hay un par de formas de enumerar todos los usuarios en un sistema Linux. Aquí he incluido todas las formas posibles.

1. Enumere todos los usuarios en Linux usando el comando cat

Como dice el nombre, el comando cat generalmente se usa para concatenar archivos e imprimir el contenido de los archivos.

Para enumerar todos los usuarios en un sistema Linux usando el comando de corte, ejecute:

$ cat /etc/passwd

Este comando listará todos los usuarios disponibles

Salida de muestra:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin
syslog:x:102:106::/home/syslog:/usr/sbin/nologin
messagebus:x:103:107::/nonexistent:/usr/sbin/nologin
_apt:x:104:65534::/nonexistent:/usr/sbin/nologin
uuidd:x:105:111::/run/uuidd:/usr/sbin/nologin
avahi-autoipd:x:106:112:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin
usbmux:x:107:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
dnsmasq:x:108:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
rtkit:x:109:114:RealtimeKit,,,:/proc:/usr/sbin/nologin
cups-pk-helper:x:110:116:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin
speech-dispatcher:x:111:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/false
whoopsie:x:112:117::/nonexistent:/bin/false
kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin
saned:x:114:119::/var/lib/saned:/usr/sbin/nologin
avahi:x:116:122:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/usr/sbin/nologin
colord:x:117:123:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin
hplip:x:118:7:HPLIP system user,,,:/var/run/hplip:/bin/false
geoclue:x:119:124::/var/lib/geoclue:/usr/sbin/nologin
gnome-initial-setup:x:120:65534::/run/gnome-initial-setup/:/bin/false
gdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/false
sk:x:1000:1000:sk,,,:/home/sk:/bin/bash
Debian-exim:x:122:128::/var/spool/exim4:/usr/sbin/nologin
pulse:x:115:120:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin
systemd-timesync:x:123:127:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
tss:x:124:131:TPM software stack,,,:/var/lib/tpm:/bin/false
tcpdump:x:125:132::/nonexistent:/usr/sbin/nologin
_flatpak:x:126:133:Flatpak system-wide installation helper,,,:/nonexistent:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin

Enumere todos los usuarios en Linux usando el comando cat

Como ya mencioné, el primer campo en las entradas anteriores representa a los usuarios. Si no desea que se muestren todos los campos, sino solo los nombres de usuario, los siguientes métodos le ayudarán.

3. Lista de usuarios usando el comando de corte

El comando "cortar" se usa para eliminar secciones (o campos) de cada línea de archivos.

Para enumerar todos los usuarios con comando de corte en un sistema Linux, ejecute:

$ cut -d: -f1 /etc/passwd

Este comando solo mostrará los nombres de usuario del archivo /etc/passwd e ignorará todos los demás campos.

Salida de muestra:

root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-network
systemd-resolve
syslog
messagebus
_apt
uuidd
avahi-autoipd
usbmux
dnsmasq
rtkit
cups-pk-helper
speech-dispatcher
whoopsie
kernoops
saned
avahi
colord
hplip
geoclue
gnome-initial-setup
gdm
sk
Debian-exim
pulse
systemd-timesync
tss
tcpdump
_flatpak
systemd-coredump

Enumere todos los usuarios en Linux usando el comando de corte

4. Imprimir usuarios en Linux con el comando awk

También podemos usar el comando "awk" para listar todos los usuarios en Linux.

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

Este comando también mostrará solo a los usuarios y omitirá todos los demás detalles.

Enumere todos los usuarios en Linux usando el comando awk

5. Ver lista de usuarios con compgen

Compensión está integrado en BASH para manipular las funciones de finalización programables.

Para enumerar todos los usuarios que usan compgen, ejecute:

$ compgen -u

6. Mostrar todos los usuarios usando el comando getent

Otra forma de listar los usuarios en Linux es usar "getent" comando como a continuación:

$ getent passwd

Este comando leerá el archivo /etc/passwd y mostrará una lista de todos los usuarios en ese archivo.

Enumere todos los usuarios en Linux usando el comando awk

Una ventaja notable del comando getent es que no solo enumera a los usuarios en el archivo /etc/passwd, sino también a todos los usuarios en todos los backends de base de datos de usuario configurados, por ejemplo, LDAP, en un sistema determinado.

7. Enumere a los usuarios usando los comandos "más" o "menos"

Los comandos más y menos se utilizan para abrir un archivo determinado para lectura interactiva, lo que permite el desplazamiento y la búsqueda.

Para imprimir todos los usuarios usando más o menos comando, ejecute:

$ more /etc/passwd

O,

$ less /etc/passwd

Lectura relacionada:

  • Cómo enumerar los miembros de un grupo en Linux
  • Cómo encontrar usuarios conectados actualmente en Linux
  • Cómo monitorear la actividad del usuario en Linux
  • Cómo limitar el acceso del usuario al sistema Linux
  • La diferencia entre más, menos y la mayoría de los comandos
  • Cómo agregar, eliminar y otorgar privilegios de Sudo a usuarios en Ubuntu
  • Cómo averiguar a qué grupos pertenece un usuario en Linux
  • La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Espero que esto ayude.


Linux
  1. Cómo encontrar todos los usuarios de Sudo en Linux

  2. Cómo enumerar u ordenar todos los archivos por tamaño en Linux

  3. ¿Cómo enumerar todos los usuarios en un grupo de Linux?

  4. ¿Cómo puedo enumerar todos los usuarios bloqueados en Linux?

  5. ¿Cómo enumero a todos los usuarios con root?

Cómo enumerar usuarios de Linux en Ubuntu

Cómo listar usuarios en Linux

Cómo listar usuarios en Linux

Cómo enumerar todos los usuarios de un grupo en Linux

¿Cómo enumerar todos los grupos en Linux?

Linux – Agregar usuario a la lista de Sudoers