¿Existe un comando fácil de usar que pueda usar para enumerar usuarios en una consola en un sistema Ubuntu?
Cuando cat /etc/passwd
consigo una lista difícil de leer de los usuarios. Sería bueno ver una lista alfabetizada, con entradas organizadas en columnas, y con los nombres de los grupos entre paréntesis junto a las ID de los grupos.
command-line
users
M. Dudley
fuente
fuente
cut
. Para alfabetizado, haysort
. Si necesita los nombres de los grupos, juegue con join (que en realidad puede mostrar solo un subconjunto de columnas, por cierto).Respuestas:
Buena manera de obtener una buena salida del archivo / etc / passwd:
Ahora puedes ordenarlo:
Con nombres de grupos en la última columna (sin paréntesis):
fuente
n
opción.column -ts: /etc/passwd
funcionó bienSi tiene acceso de root en la máquina, puede hacer lo siguiente:
Cómo funciona
Conviértete en root para leer el archivo shadow. Solo necesita privilegios de root si desea verificar si el usuario tiene una contraseña establecida (usuario humano), de lo contrario puede simplemente en
cat /etc/passwd
lugar desudo grep ...
:Mostrar solo a los usuarios que tienen una contraseña establecida:
Ordenar por nombre de usuario:
Descarte toda la información excepto el nombre de usuario:
Iterar a través de los nombres de usuario y enriquecerlo con información grupal
Formatee la entrada en columnas:
Use vi para ver el resultado:
Si no tienes acceso de root,
prueba algo como esto:
Su salida es un poco diferente, pero lo dejo como un ejercicio para el lector para combinar las dos partes en esta respuesta en algo que se ajuste completamente al trabajo. (¿No solo amas
sed
?)fuente
En Ubuntu puede ser de la siguiente manera:
siete campos de / etc / passwd almacenados en $ f1, f2 ..., $ f7
fuente
Algo que hago y funciona para mis propósitos es
De acuerdo, eso realmente no le da una lista de usuarios, sino una lista de los directorios de inicio de los usuarios y los directorios de usuarios anteriores, pero cualquier comando que desee ejecutar en un usuario que no existe terminal le dirá y podría ser una pista para eliminar el archivo de inicio que no tiene un usuario o lo mueve
fuente
Pensé que esto sería fácil
join
, perojoin
requiere que los archivos se ordenen en el campo de unión . Entonces requirió (?) Una solución alternativa con archivos temporales. La salida se ordena por usuario y muestra usuario, grupo e ID de grupo.Traducir un personaje a otro con
tr
;sort
de acuerdo con un campo clave con-k
, salida a archivo con-o
; unirse con respecto a los campos en el primer (-1
) y segundo (-2
) archivo, generar ciertos campos en el primer archivo (-o 1.1
), así como el segundo (,2.1,2.3
).fuente
/tmp
sería mejor, porque FHS establece que/var/tmp
no se borrará en los reinicios, lo que realmente no necesitamos.