encontrar o número de grupos atribuídos a um usuário

encontrar o número de grupos atribuídos a um usuário

Existe uma maneira de encontrar o número de grupos atribuídos a um usuário no Linux?

 as of right now i have:
 foo : foo bar apple users

Um aplicativo que uso pode ter fornecido a um usuário um grupo de "usuários da Apple", mas não sei dizer e quando executei

 groups foo | awk {print $6}

eu recebi

 users

Estou perdido em como descobrir quantos usuários eu tenho

Responder1

Como groupsretorna uma lista de grupos em que sua conta está, você pode usar o seguinte:

groups | wc -w

O wc -wcontará o número de palavras retornadas por groups.

Responder2

O comando groups não leva em conta grupos com espaços em sua saída. Portanto, um grupo com um espaço no nome tem a mesma saída que dois grupos separados.

Eu faria assim:

 grep "apple users" /etc/group

Isso deve retornar algo como

 apple users:x:1010:fred,barney,dino

Responder3

Método 1:

foo: foo bar usuários da apple (nome de usuário -> foo)

correr => tampa foo | wc-l

Saída: 4

Método-2:

executar => nome de usuário do grupo

Saída: nome de usuário: nome de usuário grupo1 grupo2

=> nome de usuário do grupo | wc-w | xargs -I% expr% - 2

Saída: 3 (número de grupos aos quais um usuário pertence)

foo: foo bar usuários da apple

executar => grupos foo | wc-w | xargs -I% expr% - 2

Saída: 4

Conte o número de palavras que o grupo retorna e subtraia 2, pois temos 'nome de usuário' e ':' em excesso na contagem que obtemos. Finalmente obtemos o número total de grupos aos quais um usuário pertence!

informação relacionada