neste post, você vai aprender sobre listar usuários no Linux. Além disso, você vai conhecer outros truques sobre as características dos usuários do Linux.
Existem dois tipos de usuários no Linux, usuários do sistema que são criados por padrão com o sistema. Por outro lado, existem usuários regulares que são criados por administradores de sistema e podem entrar no sistema e usá-lo.
tabela de conteúdos
qual o ficheiro que contém a lista dos utilizadores no Linux?,
Antes de começarmos a listar os usuários, precisamos saber onde esses usuários guardaram no Linux?
os usuários são armazenados em um arquivo de texto no sistema chamado de arquivo passwd. Este ficheiro está localizado no directório /etc.
o ficheiro está localizado no seguinte caminho:
neste ficheiro, poderá encontrar toda a informação sobre os utilizadores no sistema.
listar todos os usuários
listar os usuários é o primeiro passo para geri-los. Assim, saberemos quantos são e quem são. No Linux, quase tudo pode ser feito de várias maneiras, e isso não é exceção.,
A lista de todos os usuários, você pode usar o comando cat:
$ cat /etc/passwd
Como você pode ver na imagem, há todas as informações sobre os usuários.
1 – no primeiro campo, você verá o nome do Usuário.
2-o segundo campo (o caracter x) é uma representação da senha criptografada. A senha encriptada é guardada no ficheiro /etc/shadow.
3-o UID ou o ID do utilizador.
4-o campo seguinte refere-se ao grupo primário do utilizador.
5-então, ele mostra informações de ID do usuário, como o endereço, e-mail, etc.,
6 – Depois disso, você vai ver o diretório inicial do Usuário.
7-o último campo é o shell usado por esse usuário.
no Entanto, embora a informação é muito útil, se você quiser apenas lista os nomes de usuários em uma forma básica, você pode usar este comando:
$ cut -d: -f1 /etc/passwd
Agora temos os nomes apenas com a impressão do primeiro campo do arquivo apenas.
List & ordenar os utilizadores pelo nome
o comando acima serve o propósito de listar os utilizadores no Linux. Mas que tal listar os utilizadores por ordem alfabética?,
para fazer isso, usaremos o comando anterior, mas adicionaremos o comando sort.
assim, o comando será assim:
$ cut -d: -f1 /etc/passwd | sort
Como pode ver na imagem, os utilizadores são mostrados ordenados.
os utilizadores da lista Linux sem senha
é importante conhecer os utilizadores que não têm senha e tomar as medidas adequadas. Para listar os usuários que não têm uma senha, basta usar o seguinte comando:
$ sudo getent shadow | grep -Po '^*(?=:.?:)'
o regex usado listará todos os usuários sem senha.,
lista os utilizadores pela utilização do disco
Se tiver uma pasta grande e quiser saber qual o utilizador que a está a inundar, poderá usar o comando du para obter a utilização do disco.
com isso, você pode detectar quais desses usuários estão usando mal o espaço em disco.
Para isso, basta usar o seguinte comando:
$ sudo du -smc /home/* | sort -n
desta forma, você terá os usuários ordenada pelo uso do disco para o diretório /home.
usámos o-n para o comando sort para ordenar a saída por números.,
listar os utilizadores registados de momento
para listar os utilizadores registados de momento, temos várias formas de o fazer. O primeiro método que podemos usar é o comando users:
$ users
irá listar os usuários com sessões abertas no sistema.
mas esta informação é um pouco básica; no entanto, temos outro comando que dá mais detalhes. O comando é simplesmente w.,
$ w
Com este comando, podemos ter mais informações, como a hora exata quando a sessão foi iniciada e a sessão de terminal que ele tem disponível.
finalmente, existe um comando chamado who. Ele está disponível para toda a família Unix. Então você pode usá-lo em outros sistemas como o FreeBSD.
$ who
Com o comando who, nós também temos algumas informações sobre usuários logados. Claro, podemos adicionar a opção-a e mostrar todos os detalhes.,
$ who -a
desta forma, você sabe tudo sobre os utilizadores registados.
Linux list of users who recently loged into the system
we saw how to get the currently loged in users, what about listing the login history of users?,
Você pode usar o último comando para obter mais informações sobre os inícios de sessão que teve lugar:
$ last
Ou os inícios de sessão de um usuário em particular
$ last
Por exemplo:
$ last angelo
Estas são o login do usuário, actividade e, quando foi iniciado e quanto tempo levou.
listar os logins dos utilizadores numa data ou hora específica
e listar os logins dos utilizadores numa data ou hora específica?, Para conseguir isso, utilizamos o último comando, mas com o parâmetro-t:
$ last -t YYMMDDHHMMSS
Por exemplo:
$ last -t 20190926110509
E agora, tudo que você tem a fazer é escolher uma data exata & tempo para lista iniciada naquele momento.
Lista de todos os usuários em um grupo
Existem duas formas para listar os membros de um grupo no Linux, a mais fácil e a maneira mais direta é fazer os usuários do arquivo /etc/group como este:
$ cat /etc/group | grep likegeeks
Este comando lista os usuários no likegeeks grupo.,
a outra maneira é usando comandos como o comando dos Membros em distros baseados no Debian. No entanto, ele não é instalado por padrão em distribuições Linux.,
Para instalar no Ubuntu / Linux Mint 19, basta usar o APT:
$ sudo apt install members
Ou, no caso do CentOS:
$ sudo dnf install members
Depois de instalado, você pode executar o comando, em seguida, o nome do grupo que você deseja listar os usuários para:
$ members
Por exemplo:
$ members avahi
Desta forma, você pode listar os usuários para um grupo em uma distro baseada no Debian. E uma distribuição baseada em RedHat como CentOS?,
pode usar o seguinte comando:
$ getent group likegeeks
lista de utilizadores com UID
em sistemas Unix, cada utilizador tem um identificador ou ID do utilizador. Ele serve para gerenciar e administrar contas internamente no sistema operacional.
geralmente, UIDs de 0 a 1000 são para usuários do sistema. E, em seguida, para usuários regulares. Sempre nos sistemas Unix, o UID zero pertence aos utilizadores root (pode ter mais de um utilizador com UID de zero).
então agora, vamos listar os usuários com seu respectivo UID usando Awk.,
O comando que executa a tarefa é a seguinte:
$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Como você pode ver, cada usuário com o seu UID.
listar usuários root
em um sistema Unix-like Como Linux, geralmente há apenas um usuário root. Se há muitos, como listá-los?
Para fazer isso, nós podemos usar este comando:
$ grep 'x:0:' /etc/passwd
Aqui nós estamos filtrando o arquivo para obter os usuários de líquido de zero (root users).,
Outra maneira verificando o arquivo /etc/group:
$ grep root /etc/group
Aqui estamos obtendo os usuários no grupo raiz do arquivo /etc/group.
além disso, você pode verificar se qualquer usuário pode executar comandos como root, verificando o arquivo /etc/sudoers:
$ cat /etc/sudoers
Obter o número total de usuários
Para obter o número total de usuários no Linux, você pode contar linhas no arquivo /etc/passwd usando o wc comando como este:
$ cut -d: -f1 /etc/passwd | wc -l
Ótimo! 43 utilizadores., Mas isso inclui o sistema e usuários regulares. E quanto a obter o número de usuários regulares apenas?calma! Uma vez que sabemos de cima que os usuários regulares têm UID igual ou superior a 1000, podemos usar Awk para obtê-los:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Cool!
listar os utilizadores do sudo
os sistemas Linux têm um utilitário chamado sudo que lhe permite executar comandos como se fosse outro utilizador que normalmente é o utilizador raiz.isto deve ser manuseado com cuidado num ambiente profissional.,
também, é muito importante saber quais usuários podem executar o comando sudo. Para isso, basta listar os usuários que pertencem ao grupo sudo.
$ members sudo
utilizadores deste grupo podem executar comandos como super-utilizadores.
lista de utilizadores que têm acesso SSH
SSH permite aos utilizadores aceder a computadores remotos através de uma rede. É bastante seguro e nasceu como um substituto para Telnet.
Por padrão, todos os usuários regulares podem fazer login e usar SSH., Se você quiser limitar a isso, você pode usar o ficheiro de configuração do SSH (/etc/ssh/ssh_config) e adicione a seguinte directiva:
AllowUsers user1 user2 user3
além disso, você pode permitir que os grupos, em vez de permitir que os usuários apenas usando a diretiva AllowGroups:
AllowGroups group1 group2 group3
Estas directivas definir quem pode acessar o serviço. Não se esqueça de reiniciar o serviço SSH.
lists users who have permissions to a file or directory
we can give more than one user permission to access or modify files & directories in two ways.,
o primeiro método é adicionando usuários ao grupo do arquivo ou do diretório.
desta forma, podemos listar os membros do grupo usando o utilitário de membros como mostrado acima.
está bem, mas e se apenas quisermos que este utilizador tenha acesso apenas a este ficheiro específico (nem todas as permissões de grupo)?
Aqui podemos definir a ACL para este arquivo usando o comando setfacl como este:
$ setfacl -m u:newuser:rwx myfile
Aqui nós damos o usuário chamado newser a permissão para o arquivo chamado myfile as permissões de leitura & escrever & executar.,
Agora o arquivo pode ser acessado ou modificado pelo proprietário, e o usuário chamado newuser. Então como listá-los?
Podemos listá-los usando o comando getfacl como este:
$ getfacl myfile
Este comando irá listar todos os utilizadores que tenham permissões para o ficheiro com as respectivas permissões.
lista de utilizadores bloqueados (desactivados)
no Linux, como medida de segurança, podemos bloquear os utilizadores. Isto como precaução se suspeita que o usuário está fazendo coisas erradas, e você não quer remover completamente o Usuário e apenas trancá-lo para investigação.,
Para bloquear um usuário, você pode usar o seguinte comando:
$ usermod -L myuser
Agora, o usuário chamado myuser não será mais capaz de acessar ou usar o sistema.
para listar todos os utilizadores bloqueados do sistema, basta usar o seguinte comando:
$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
Isto irá imprimir todos os utilizadores bloqueados, incluindo os utilizadores do sistema. E que tal listar apenas utilizadores regulares?
Como vimos acima, usando Awk, podemos obter usuários regulares bloqueados como este:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
muito fácil!,
listando usuários remotos (LDAP)
Ok, agora pode listar todos os usuários do Sistema (usuários locais), mas e os usuários remotos ou LDAP? Bem, podemos usar uma ferramenta como ldapsearch, mas há outra maneira?felizmente Sim! Você pode listar o ID local
utilizadores remotos com um comando chamado getent
$ getent passwd
Este comando lista tanto os utilizadores do sistema local como os utilizadores do LDAP ou do NIS ou quaisquer outros utilizadores da rede.
pode encaminhar os resultados deste comando para qualquer um dos comandos acima mencionados da mesma forma.,
também, o comando getent pode listar contas de grupo como esta:
$ getent group
pode verificar a página de man do comando para conhecer as outras bases de dados em que o comando pode procurar.
conclusão
listar usuários no sistema Linux foi divertido! Além disso, aprendemos algumas dicas sobre usuários e como geri-los de diferentes maneiras.finalmente, este conhecimento permitirá uma melhor administração dos usuários do sistema.
espero que ache o tutorial útil. Continua a voltar.,
Fundador da LikeGeeks. Trabalho como administrador de sistemas Linux desde 2010. Sou responsável pela manutenção, segurança e resolução de problemas de Servidores Linux para vários clientes em todo o mundo. Adoro escrever scripts shell e Python para automatizar o meu trabalho.