.
- 1 1. Introdução
- 2 2. Como Verificar a Lista de Usuários no Ubuntu
- 3 3. Como Verificar Usuários Atualmente Conectados
- 4 4. Como Verificar Informações Detalhadas do Usuário
- 5 5. Gerenciando Usuários no Ubuntu (Adicionar, Excluir, Modificar)
- 6 6. Cenários Práticos para Gerenciamento de Usuários
- 7 7. Perguntas Frequentes
- 7.1 7.1 Posso editar /etc/passwd diretamente?
- 7.2 7.2 Diferença Entre os Comandos who e users
- 7.3 7.3 Como Verificar o Histórico de Login de um Usuário Específico
- 7.4 7.4 Como Alterar a Senha de um Usuário
- 7.5 7.5 Como Desativar Temporariamente um Usuário
- 7.6 7.6 Adicionar um Usuário ao Grupo sudo
- 7.7 7.7 Alterar o Diretório Home de um Usuário
- 7.8 7.8 Remover Completamente um Usuário e Seus Dados
- 7.9 7.9 Verificar Atividade Detalhada de Usuários Logados
1. Introdução
Ubuntu é uma distribuição Linux popular usada por muitos usuários, desde ambientes pessoais até sistemas de servidores corporativos. Ao gerenciar um sistema Ubuntu, a administração de contas de usuário é essencial. Em particular, revisar a lista de usuários registrados ajuda na gestão de segurança e na organização de contas.
Este artigo explica como listar usuários no Ubuntu. Ele cobre desde comandos básicos até métodos para obter informações detalhadas, sendo útil tanto para iniciantes quanto para administradores experientes.
2. Como Verificar a Lista de Usuários no Ubuntu
No Ubuntu, as informações dos usuários podem ser facilmente obtidas usando arquivos e comandos específicos. Os métodos a seguir permitem que você verifique a lista de usuários.
2.1 Exibir Lista de Usuários Usando /etc/passwd
No Ubuntu, todas as informações dos usuários são armazenadas no arquivo /etc/passwd. Exibir esse arquivo permite que você verifique todos os usuários registrados.
Exemplo de comando
cat /etc/passwd
Executar este comando exibe informações no seguinte formato:
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One,,,:/home/user1:/bin/bash
user2:x:1001:1001:User Two,,,:/home/user2:/bin/bash
Cada linha consiste em campos separados por dois-pontos (:) contendo as seguintes informações:
- Nome de usuário
- Senha (agora representada como x)
- ID do usuário (UID)
- ID do grupo (GID)
- Informação do usuário (campo de comentário)
- Diretório home
- Shell de login padrão
Como esse arquivo inclui usuários de sistema, você pode extrair apenas os usuários de login regulares usando os métodos abaixo.
2.2 Listar Apenas Nomes de Usuário
Para listar apenas os nomes de usuário, use o seguinte comando:
cut -d: -f1 /etc/passwd
Alternativamente, você pode usar o comando awk:
awk -F':' '{ print $1 }' /etc/passwd
Exemplo de saída:
root
user1
user2
2.3 Procurar um Usuário Específico
Para verificar se um usuário específico existe, use o comando grep:
grep 'user1' /etc/passwd
Este comando exibe apenas a entrada relacionada a user1.
2.4 Listar Grupos via /etc/group
Para verificar os grupos aos quais um usuário pertence, consulte o arquivo /etc/group:
cat /etc/group | cut -d: -f1
Para listar os grupos de um usuário específico, use:
groups user1
Exemplo de saída:
user1 : user1 sudo
Isso indica que user1 também é membro do grupo sudo.
3. Como Verificar Usuários Atualmente Conectados
O Ubuntu fornece vários comandos para verificar quais usuários estão conectados no momento. Esses comandos ajudam a obter informações de sessão e login.
3.1 Verificando Usuários Conectados com who
O comando who lista todos os usuários atualmente conectados.
Exemplo de comando
who
Exemplo de saída
user1 tty1 2025-02-16 10:05
user2 pts/0 2025-02-16 11:30
Explicação dos campos
- Nome de usuário (usuário conectado)
- Nome do terminal (ex.:
tty1para local,pts/0para SSH) - Hora de login
O comando who é simples e útil quando você quer verificar rapidamente o status de login.
3.2 Verificando Informações Detalhadas com w
O comando w fornece informações mais detalhadas que o who.
Exemplo de comando
w
Exemplo de saída
11:35:25 up 2:15, 2 users, load average: 0.03, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 tty1 10:05 1:30m 0.10s 0.10s -bash
user2 pts/0 192.168.1.10 11:30 0.00s 0.05s 0.02s sshd
Explicação dos campos
- Tempo de atividade do sistema
- Número de usuários conectados
- Média de carga da CPU
- Nome de usuário
- Terminal
- Host remoto
- Hora de login
- Tempo ocioso
- Uso da CPU
- Processo em execução
O endereço IP no campo FROM ajuda a verificar logins SSH remotos, sendo útil para monitoramento e gestão de segurança.
3.3 Exibir Usuários Conectados com users
Se você quiser uma lista simplificada mostrando apenas os nomes de usuário dos usuários conectados, o comando users é útil.
Exemplo de comando
users
Exemplo de saída
user1 user2
Este comando é uma versão simplificada do who e mostra apenas os nomes de usuário dos usuários conectados.
3.4 Identificar o Usuário Atual com whoami
Para verificar qual usuário está executando a sessão atual, use o comando whoami.
Exemplo de comando
whoami
Exemplo de saída
user1
Este comando simplesmente exibe o nome de usuário do usuário da sessão atual, sendo útil para verificar o contexto de execução.
3.5 Verificar Histórico de Login Usando last
O comando last permite revisar o histórico de login dos usuários.
Exemplo de comando
last
Exemplo de saída
user1 pts/0 192.168.1.10 Mon Feb 15 10:20 still logged in
user2 tty1 Mon Feb 15 09:30 - 10:00 (00:30)
root tty1 Sun Feb 14 22:15 - 23:45 (01:30)
- Nome de usuário
- Terminal usado
- Endereço IP remoto
- Hora de início do login
- Hora de logout (ou ainda conectado)
- Duração total da sessão
Este comando ajuda os administradores a monitorar acessos anteriores e detectar logins suspeitos.
4. Como Verificar Informações Detalhadas do Usuário
O Ubuntu fornece vários comandos para obter informações detalhadas sobre usuários registrados. Revisar detalhes como UID, associação a grupos e shell de login ajuda os administradores a gerenciar permissões com precisão. Esta seção explica os métodos usando id, groups, finger e chage.
4.1 Verificar UID, GID e Grupos Usando id
O comando id exibe o UID (Identificador de Usuário), GID (Identificador de Grupo) e a associação a grupos do usuário.
Exemplo de comando
id user1
Exemplo de saída
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
uid→ Identificador do usuáriogid→ Identificador do grupo primáriogroups→ Todos os grupos aos quais o usuário pertence
Verificar informações do usuário atual
id
4.2 Verificar Associação a Grupos via groups
O comando groups lista rapidamente os grupos aos quais um usuário pertence.
Exemplo de comando
groups user1
Exemplo de saída
user1 : user1 sudo docker
groups é útil quando você deseja ver apenas os nomes dos grupos sem IDs detalhados.
4.3 Recuperar Detalhes do Usuário Usando finger
O comando finger fornece informações detalhadas do usuário, como nome completo, diretório de login e tipo de shell.
Comando de instalação
sudo apt install finger
Exemplo de comando
finger user1
Exemplo de saída
Login: user1 Name: User One
Directory: /home/user1 Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0
- Login → Nome de usuário
- Name → Nome completo (opcional)
- Directory → Diretório home
- Shell → Shell padrão
- Last login → Hora do último login

4.4 Verificar Expiração de Senha com chage
O comando chage permite que os administradores revisem o período de expiração da senha e a última alteração de senha.
Exemplo de comando
sudo chage -l user1
Exemplo de saída
Last password change : Jan 15, 2025
Password expires : Mar 15, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 5
- Última alteração de senha → Data da última alteração da senha
- Senha expira → Data de expiração da senha
- Senha inativa → Duração de inatividade antes que a senha se torne inválida
- Conta expira → Data de expiração da conta
- Número mínimo de dias entre alterações de senha
- Número máximo de dias entre alterações de senha
- Dias de aviso antes da senha expirar
Administradores podem usar essas informações para aplicar políticas de senha e melhorar a segurança do sistema.
5. Gerenciando Usuários no Ubuntu (Adicionar, Excluir, Modificar)
O gerenciamento adequado de usuários melhora a estabilidade e a segurança do sistema. O Ubuntu fornece vários comandos administrativos, como adduser, deluser e usermod. Esta seção explica como adicionar, remover e modificar usuários.
5.1 Adicionando Usuários
O Ubuntu permite adicionar novos usuários usando os comandos adduser ou useradd.
5.1.1 Comando adduser (Recomendado)
O comando adduser fornece uma maneira interativa de adicionar usuários.
sudo adduser newuser
Exemplo de prompt interativo:
Adding user `newuser' ...
Adding new group `newuser' (1002) ...
Adding new user `newuser' (1002) with group `newuser' ...
Creating home directory `/home/newuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
Changing the user information for newuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
- Conta de usuário
- Grupo dedicado
- Diretório home (
/home/newuser) - Senha para login
- Informações básicas da conta
5.1.2 Comando useradd (Avançado)
O comando useradd é amigável a scripts e oferece controle mais fino, mas não configura tudo automaticamente.
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
-m→ Cria diretório home-s /bin/bash→ Define o shell de login
Uma senha deve ser definida separadamente ao usar este comando.
5.2 Excluindo Usuários
Você pode remover usuários usando deluser ou userdel.
5.2.1 Comando deluser (Recomendado)
O comando deluser remove uma conta de usuário.
sudo deluser newuser
Remover também o diretório home
sudo deluser --remove-home newuser
Isso exclui a conta e o diretório /home/newuser.
5.2.2 Comando userdel (Avançado)
O comando userdel oferece mais controle.
sudo userdel newuser
sudo userdel -r newuser
5.3 Modificando Usuários Existentes
Use o comando usermod para modificar informações de usuários existentes.
5.3.1 Alterar Nome de Usuário
sudo usermod -l newname oldname
5.3.2 Alterar Diretório Home
sudo usermod -d /new/home/path user1
sudo usermod -d /home/newuser -m user1
5.3.3 Modificar Associação a Grupos
sudo usermod -aG sudo user1
groups user1
5.3.4 Alterar Senha
sudo passwd user1
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
6. Cenários Práticos para Gerenciamento de Usuários
O gerenciamento de usuários no Ubuntu vai além de listar e modificar contas. Entender como aplicar os comandos em cenários reais é essencial para manter um ambiente seguro e eficiente. Esta seção apresenta casos de uso comuns e como abordá‑los.
6.1 Buscar Usuários que Correspondam a Critérios Específicos
6.1.1 Exibir Usuários com Privilégios de Administrador (sudo)
Para listar usuários com privilégios sudo, use o comando getent para inspecionar o arquivo /etc/group:
getent group sudo
Saída de exemplo
sudo:x:27:user1,user2
sudo:x:27:→ Informação do grupouser1,user2→ Usuários pertencentes ao grupo sudo
6.1.2 Exibir Usuários com Capacidade de Login
O arquivo /etc/passwd inclui contas de sistema. Para extrair apenas os usuários que podem fazer login:
grep '/bin/bash' /etc/passwd
Exemplo de saída
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
- Apenas usuários com shells como
/bin/bashou/bin/shsão incluídos - Contas de sistema que utilizam
/usr/sbin/nologinou/bin/falsesão excluídas
6.1.3 Exibir Usuários do Sistema (Contas sem Login)
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd
Exemplo de saída
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false
Isso ajuda os administradores a identificar contas que não devem ser removidas acidentalmente.
6.2 Limpeza Periódica de Usuários Inativos
6.2.1 Exibir a Última Hora de Login de Todos os Usuários
lastlog
Exemplo de saída
Username Port From Latest
root tty1 Mon Feb 12 14:02:08 +0000 2025
user1 pts/0 192.168.1.10 Mon Jan 15 10:30:12 +0000 2025
user2 pts/1 192.168.1.20 Never logged in
- Nunca fez login → O usuário nunca fez login
sudo deluser user2 --remove-home
6.2.2 Verificar a Última Alteração de Senha
sudo chage -l user1
sudo passwd --expire user1
Na próxima vez que o usuário fizer login, será necessário redefinir a senha por motivos de segurança.
6.3 Verificar Usuários Conectados via SSH
who | grep pts
Exemplo de saída
user1 pts/0 192.168.1.10 11:30
Isso ajuda a identificar usuários remotos e seus endereços IP.
6.4 Exportar Todas as Informações de Usuário para CSV
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
Exemplo users.csv
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
- Exporta nome de usuário, UID, GID e diretório home
- Os dados podem ser analisados usando Excel ou planilhas
7. Perguntas Frequentes
7.1 Posso editar /etc/passwd diretamente?
Resposta: A edição direta não é recomendada. Modificações incorretas podem impedir o login ou danificar o sistema.
Método mais seguro:
sudo vipw
7.2 Diferença Entre os Comandos who e users
| Command | Description |
|---|---|
who | Displays detailed login information |
users | Displays only usernames of logged-in users |
7.3 Como Verificar o Histórico de Login de um Usuário Específico
last user1
7.4 Como Alterar a Senha de um Usuário
sudo passwd user1
7.5 Como Desativar Temporariamente um Usuário
sudo usermod -L user1
sudo usermod -U user1
7.6 Adicionar um Usuário ao Grupo sudo
sudo usermod -aG sudo user1
7.7 Alterar o Diretório Home de um Usuário
sudo usermod -d /new/home/path -m user1
7.8 Remover Completamente um Usuário e Seus Dados
sudo deluser --remove-home user1
ou
sudo userdel -r user1
7.9 Verificar Atividade Detalhada de Usuários Logados
w
- Usuários logados
- Endereços IP remotos
- Processos atuais
- Carga do sistema
Isso permite que os administradores monitorem o uso e detectem acessos não autorizados.


