Os usuários criados com useradd
têm um UID de 1000 a 60000, consulte
$ grep "^UID_M*" /etc/login.defs
UID_MIN 1000
UID_MAX 60000
Com essas informações, podemos filtrar /etc/passwd
para esses usuários:
$ awk -F: '$3 >= 1000' /etc/passwd
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
dessert:x:1000:1000:dessert,,,:/home/dessert:/bin/bash
test:x:1001:1001:test,,,:/home/test:/bin/bash
-F:
define :
como o delimitador de campo e $3 >= 1000
informa awk
apenas para imprimir linhas em que a terceira coluna contenha um valor igual ou maior que 1000
. Agora só queremos o nome de usuário e nobody
não é relevante para nós, então vamos reduzir ainda mais a saída:
$ awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd
dessert
test
Agora também ( &&
) testamos a primeira coluna para não ser ( !=
) a string nobody
e apenas imprimimos a primeira coluna ( print $1
).