Listando usuários e grupos de usuários em Raspbian

7

Surpreendeu-me que nenhuma pesquisa tenha me levado a uma pergunta tão simples como essa. Tudo que eu quero é obter uma lista de usuários e grupos de usuários (qualquer que seja a segunda coisa realmente).

Encontrei muitos recursos sobre as contas de usuários criadas ou removidas, mas parece que todos se lembraram de todas as contas em seu sistema. Eu acho que não é assim.

Então, como listá-los, suas permissões e como listar grupos?

    
por Tomáš Zato 04.01.2014 / 20:15

3 respostas

10

Você também pode consultar usuários, grupos, etc. do sistema usando o comando getent .

Exemplos

usuários

$ getent passwd | head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

grupos

$ getent group | head -5
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:

A vantagem de usar getent apenas olhando os arquivos /etc/passwd e /etc/groups é que getent consultará o sistema usando o NSS - Name Service Switch do sistema, que define como "bancos de dados", como estes devem ser manipulados em um determinado sistema.

NSS

O NSS na maioria dos sistemas Linux é controlado pelo arquivo /etc/nsswitch.conf . Este arquivo define os "bancos de dados" e, em seguida, como eles devem ser resolvidos.

Exemplo Abaixo, você pode ver que o "banco de dados" passwd e o grupo devem ser providos por arquivos, mas podem ser fornecidos pelo LDAP, NIS ou por qualquer outro método.

# /etc/nsswitch.conf

# Example:
#passwd:    db files nisplus nis
#shadow:    db files nisplus nis
#group:     db files nisplus nis

passwd:     files
shadow:     files
group:      files
#initgroups: files

Outras bases de dados

Senhas e grupos são apenas 2, existem muitos bancos de dados acessíveis via getent . Dê uma olhada na página getent man para uma lista completa.

Você também pode obter a lista da página de uso de getent .

$ getent --help
...
Supported databases:
ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups
netgroup networks passwd protocols rpc services shadow
...

Referências

por 04.01.2014 / 21:39
5

Pode haver maneiras mais fáceis de exibir, mas todas as informações estão nesses dois arquivos. Para obter uma lista completa de contas de usuários, uma conta por linha:

less /etc/passwd

Para uma lista completa de grupos, um grupo por linha:

less /etc/group

Veja man 5 passwd e man 5 group para detalhes sobre o significado de todos os campos.

Por outro lado, se o seu Raspbian foi configurado por administradores qualificados com o propósito de compartilhar informações de contas de usuários e grupos entre máquinas em toda a rede, então o que eu escrevi acima não é adequado e você deve seguir o @ slm conselhos bem escritos.

    
por 04.01.2014 / 20:32
-1
less /etc/passwd | cut -d":" -f1
    
por 21.02.2018 / 02:13

Tags