GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo podemos obtener una lista de usuarios que no son del sistema en Linux?

Puedes usar awk para esta tarea:

awk -F: '$3 >= 1000' /etc/passwd

Esto dividirá el /etc/passwd archivo por dos puntos, entonces si el campo 3 (ID de usuario) es mayor o igual a 1000, imprimirá el /etc/passwd completo grabar.

Si desea obtener solo el nombre de usuario de esta lista, entonces:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Donde $1 es el primer campo de etc/passwd cuál es el nombre de usuario.


Suponiendo que el sistema reconoce solo a los usuarios locales (es decir, los registrados en /etc/passwd , a diferencia de cualquier autenticado a través de un servicio remoto como LDAP, NIS o Winbind), puede usar grep , sed o awk para extraer los datos de /etc/passwd . awk es el más flexible de ellos, pero ¿qué tal una solución con sed :

sed -n '/^\([^:]\+\):[^:]\+:[1-9][0-9]\{3\}/ { s/:.*//; p }' /etc/passwd

Debe obtener todos los usuarios cuyo gid es mayor o igual a 1000. Usa este comando para eso:

awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd

Si desea usuarios del sistema (gid<1000) será:

awk -F: '($3<1000){print $1}' /etc/passwd

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Linux:¿cómo obtener la lista completa y exacta de los sistemas de archivos montados en Linux?

  3. ¿Cómo se actualiza /etc/motd?

  4. Cómo configurar JAVA_HOME en Linux para todos los usuarios

  5. ¿Cómo puedo obtener una lista de todas las palabras mal escritas en un texto usando Linux?

Cómo listar usuarios en Linux

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Cómo listar usuarios en Linux

Cómo obtener una lista de enlaces simbólicos en Linux

¿Cómo obtener la lista completa y exacta de los sistemas de archivos montados en Linux?

¿Cómo puedo revertir un chmod en el directorio etc?