Separar usuarios del sistema y usuarios del servicio


8

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 ?

Respuestas:


7

Según gid, los usuarios del sistema y los usuarios del servicio se pueden separar de la siguiente manera,

/etc/passwdcontiene una lista para todos los usuarios junto con alguna otra información. Los usuarios del servicio o los usuarios reales tienen un valor gidmayor 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 gidse 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/passwdson como,

    root:x:0:0:root:/root:/bin/bash
    ...
    souravc:x:1001:1001:Souravc:/home/souravc:/bin/bash

Cuando se usa awkcon -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, awksimplemente 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 gidsea ​​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 nobodyusuario.


¿Cómo puede cuidar al usuario root?
— rɑːdʒɑ

no entendiste tu punto? obtendrá root como usuario del sistema. ¿Desea incluir root en la lista de usuarios reales?
— souravc

sí porque él también es usuario.
— rɑːdʒɑ

@rajagenupula ¿está bien ahora?
— souravc

Me gustaría tener un usuario root en la lista de usuarios reales @S
— rɑːdʒɑ

2

Para enumerar locales (usuarios del sistema) que pueden iniciar sesión y tener homedir y GID menos de 1000

 cat /etc/passwd | cut -d: -f 1,3,6 | grep "[1-9][0-9][0-9][0-9]" | grep "/home" | cut -d: -f1

Para enumerar todos los demás usuarios: (principalmente usuarios del sistema y tienen GID inferior a 1000):

cat /etc/passwd | cut -d: -f 1,3,6 | grep -v "[1-9][0-9][0-9][0-9]"  | cut -d: -f1

1
ID de grupo de usuario root y el usuario de ID es menor de 1000 que right.thank de respuesta
— rɑːdʒɑ

@rajagenupula sí, seguro. solo root es la excepción. y en ubuntu generalmente, root no puede iniciar sesión por defecto.
— kamil
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.