Todos sabemos que tenemos usuarios del sistema y usuarios del servicio. Estoy buscando una manera de separarlos como usuarios del sistema y lista de usuarios del servicio.
Hay alguna manera ?
fuente
Todos sabemos que tenemos usuarios del sistema y usuarios del servicio. Estoy buscando una manera de separarlos como usuarios del sistema y lista de usuarios del servicio.
Hay alguna manera ?
Según gid
, los usuarios del sistema y los usuarios del servicio se pueden separar de la siguiente manera,
/etc/passwd
contiene una lista para todos los usuarios junto con alguna otra información. Los usuarios del servicio o los usuarios reales tienen un valor gid
mayor o igual a 1000. Por lo tanto, se puede obtener una lista de usuarios reales como,
awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd
También gid
se puede extraer una lista de usuarios del sistema ( <1000) como,
awk -F: '($3<1000){print $1}' /etc/passwd
Cómo funciona
Los contenidos de /etc/passwd
son como,
root:x:0:0:root:/root:/bin/bash
...
souravc:x:1001:1001:Souravc:/home/souravc:/bin/bash
Cuando se usa awk
con -F:
él, divide el contenido de una línea en varios campos que se tratan :
como separadores de campo. El primer campo contiene el nombre de usuario y el tercer campo tiene el gid
.
Por lo tanto, para extraer usuarios reales, awk
simplemente verifique que el valor del tercer campo sea mayor que igual a 1000 y que no sea usuario de nadie e imprima el primer campo, es decir, el nombre de usuario.
Para enumerar todos los usuarios del sistema, solo verifica que gid
sea inferior a 1000 e imprima el nombre de usuario.
Editar
Como desea enumerar root
(gid = 0) en la lista de usuarios reales. Consigue usuarios reales como,
awk -F: '($3==0)||($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd
Obtenga usuarios del sistema como,
awk -F: '($3<1000)&&($1!="root"){print $1}' /etc/passwd
Tenga en cuenta que siempre estoy ignorando al nobody
usuario.
Para enumerar locales (usuarios del sistema) que pueden iniciar sesión y tener homedir y GID menos de 1000
Para enumerar todos los demás usuarios: (principalmente usuarios del sistema y tienen GID inferior a 1000):
fuente