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 groups
retorna uma lista de grupos em que sua conta está, você pode usar o seguinte:
groups | wc -w
O wc -w
contará 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!