Como Verificar a Lista de Usuários no Ubuntu | Guia Completo de Login, Gerenciamento e Exclusão

目次

1. Introdução

O Ubuntu é uma distribuição Linux popular usada por muitos usuários, desde uso pessoal até ambientes de servidores corporativos. Gerenciar contas de usuário é essencial ao administrar um sistema Ubuntu. Em particular, verificar a lista de usuários registrados ajuda na gestão de segurança e na organização de contas.

Este artigo fornece uma explicação detalhada de como verificar a lista de usuários no Ubuntu. Ele cobre desde comandos básicos até a obtenção de informações detalhadas sobre os usuários, sendo útil tanto para iniciantes quanto para usuários avançados.

年収訴求

2. Como Verificar a Lista de Usuários no Ubuntu

No Ubuntu, as informações dos usuários podem ser facilmente obtidas usando arquivos ou comandos específicos. Você pode verificar a lista de usuários pelos métodos a seguir.

2.1 Exibindo a Lista de Usuários com /etc/passwd

No Ubuntu, todas as informações dos usuários são armazenadas no arquivo /etc/passwd. Ao exibir este arquivo, você pode ver todos os usuários registrados.

Exemplo de Comando

cat /etc/passwd

Executar este comando exibirá as 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 (“:“) e contém as seguintes informações:

  1. Nome de usuário
  2. Senha (atualmente exibida como “x” por segurança)
  3. ID do usuário (UID)
  4. ID do grupo (GID)
  5. Informações do usuário (Comentários)
  6. Diretório home
  7. Shell padrão

Como este arquivo inclui usuários de sistema também, você pode usar o método a seguir para extrair apenas usuários de login regulares.

2.2 Recuperando Apenas Nomes de Usuário

Para exibir somente a lista de nomes de usuário, use o comando a seguir:

cut -d: -f1 /etc/passwd

Como alternativa, você pode usar o comando awk:

awk -F':' '{ print $1 }' /etc/passwd

Exemplo de saída:

root
user1
user2

2.3 Procurando um Usuário Específico

Para verificar se um usuário específico existe, use o comando grep:

grep 'user1' /etc/passwd

Executar este comando exibirá apenas as informações relacionadas a user1.

2.4 Recuperando Informações de Grupo com /etc/group

Para verificar a quais grupos um usuário pertence, consulte o arquivo /etc/group.

cat /etc/group | cut -d: -f1

Para verificar os grupos aos quais um usuário específico pertence, use o comando a seguir:

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

No Ubuntu, há várias maneiras de verificar quais usuários estão atualmente conectados ao sistema. Usando comandos específicos, você pode obter informações sobre sessões ativas e usuários logados.

3.1 Verificando Usuários Conectados com o Comando who

O comando who lista todos os usuários que estão 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

  1. Nome de usuário (O usuário conectado)
  2. Nome do terminal (Console físico tty1 ou sessão remota pts/0)
  3. Hora de login

O comando who é simples e útil para verificar rapidamente os usuários conectados.

3.2 Verificando Atividade Detalhada do Usuário com o Comando 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 (up 2:15)
  • Número de Usuários Conectados (2 users)
  • Carga Média da CPU
  • Nome de Usuário (USER)
  • Terminal Conectado (TTY)
  • Origem da Conexão Remota (FROM)
  • Tempo de Login (LOGIN@)
  • Tempo Ocioso (IDLE)
  • Uso da CPU (JCPU, PCPU)
  • Processo em Execução (WHAT)

Como o campo FROM mostra o endereço IP remoto para conexões SSH, este comando é útil para gerenciar e monitorar o acesso remoto.

3.3 Verificando Rapidamente Usuários Conectados com o Comando users

Se você precisar apenas de uma lista simples de nomes de usuário atualmente conectados, use o comando users.

Comando de Exemplo

users

Saída de Exemplo

user1 user2

Este comando é uma versão simplificada do who, exibindo apenas nomes de usuário.

3.4 Verificando o Usuário Atual com o Comando whoami

Se você quiser verificar qual usuário está executando atualmente uma sessão de terminal, use o comando whoami.

Comando de Exemplo

whoami

Saída de Exemplo

user1

Este comando é útil para verificar qual conta de usuário está executando comandos.

3.5 Verificando o Histórico Recente de Logins com o Comando last

O comando last permite verificar o histórico de logins de usuários passados.

Comando de Exemplo

last

Saída de Exemplo

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)

Explicação dos Campos

  • Nome de Usuário
  • Terminal Conectado (tty1, pts/0, etc.)
  • Origem da Conexão Remota (Endereço IP)
  • Tempo de Início do Login
  • Tempo de Logout (ou “ainda conectado” para sessões ativas)
  • Duração Total do Login (ex.: 00:30 = 30 minutos)

Este comando é útil para monitorar logins passados e detectar acesso não autorizado.

4. Como Verificar Informações Detalhadas de Usuários

No Ubuntu, vários comandos estão disponíveis para recuperar informações detalhadas sobre usuários registrados. Ao verificar o UID de um usuário, grupos, shell de login e outros atributos, os administradores podem gerenciar permissões e configurações de segurança de forma eficaz. Esta seção explica como obter informações detalhadas de usuários usando comandos como id, finger e chage.

4.1 Verificando UID do Usuário, GID e Grupos com o Comando id

O comando id fornece informações sobre o UID (ID do Usuário), GID (ID do Grupo) e associações de grupos de um usuário.

Comando de Exemplo
id user1
Saída de Exemplo
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
Explicação dos Campos
  • uid=1001(user1)ID do Usuário (Identificador único para o usuário)
  • gid=1001(user1)ID do Grupo (Grupo principal do usuário)
  • groups=1001(user1),27(sudo),1002(docker)Lista de grupos aos quais o usuário pertence

Essas informações são úteis ao verificar a quais grupos um usuário está atribuído.

Verificando Informações para o Usuário Atualmente Conectado
id

Executar este comando exibirá as informações de ID para o usuário atualmente conectado.

4.2 Verificando os Grupos de um Usuário com o Comando groups

Para verificar a quais grupos um usuário específico pertence, use o comando groups.

Comando de Exemplo
groups user1
Saída de Exemplo
user1 : user1 sudo docker

Embora o comando id também forneça informações de grupo, o comando groups é mais conveniente quando você precisa verificar apenas os nomes dos grupos.

Verificando Grupos para o Usuário Atualmente Conectado
groups

Este comando exibe os grupos aos quais o usuário atual pertence.

4.3 Recuperando Informações Detalhadas de Usuários com o Comando finger

O comando finger fornece detalhes adicionais, como nome completo, informações de login e tipo de shell.

Instalando finger

O comando finger não está instalado por padrão. Instale-o com o seguinte comando:

sudo apt install finger
Comando de Exemplo
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
Explicação dos Campos
  • Login → Nome de usuário
  • Name → Nome completo (pode estar vazio)
  • Directory → Diretório home do usuário
  • Shell → O shell que o usuário está usando
  • Last login → A última vez registrada de login

Os administradores de sistema podem usar finger para verificar rapidamente quais usuários estão logados e sua atividade de último login.

4.4 Verificando a Expiração de Senha com o Comando chage

Os administradores podem usar o comando chage para verificar detalhes de expiração de senha e a data da última alteração de senha de um usuário.

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
Explicação dos Campos
  • Last password change → A data da última atualização de senha
  • Password expires → A data de expiração da senha
  • Password inactive → O período antes que a senha se torne inativa
  • Account expires → A data em que a conta será desativada
  • Minimum number of days between password change → O intervalo mínimo requerido entre alterações de senha
  • Maximum number of days between password change → O período máximo em que a senha permanece válida
  • Number of days of warning before password expires → O número de dias antes da expiração em que os usuários recebem um aviso

Os administradores podem usar essas informações para impor uma política de senhas e aprimorar a segurança.

5. Gerenciando Usuários no Ubuntu (Adicionando, Excluindo e Modificando)

O gerenciamento adequado de usuários é crucial para os administradores de sistema no Ubuntu. Adicionar novos usuários, remover os antigos e modificar informações de usuários existentes ajuda a manter a segurança e a eficiência. Esta seção explica como gerenciar usuários usando comandos como adduser, deluser e usermod.

5.1 Adicionando um Usuário

Para criar um novo usuário no Ubuntu, você pode usar o comando adduser ou useradd.

5.1.1 Usando o Comando adduser (Recomendado)

O comando adduser é uma ferramenta interativa que simplifica o processo de criação de usuário.

Exemplo de Comando
sudo adduser newuser
Processo 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]
O Que é Criado
  • Conta de usuário
  • Grupo dedicado
  • Diretório home (/home/newuser)
  • Senha de login
  • Informações básicas do usuário

Este método é o mais comum e amigável para iniciantes.

5.1.2 Usando o Comando useradd (Para Usuários Avançados)

O comando useradd difere do adduser por ser uma ferramenta de nível mais baixo, projetada para scripts e não cria automaticamente um diretório home.

Exemplo de Comando
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
Descrições de Opções
  • -m → Cria um diretório home
  • -s /bin/bash → Define o shell padrão como /bin/bash

Ao usar useradd, você deve definir manualmente uma senha para o novo usuário.

5.2 Excluindo um Usuário

Para remover uma conta de usuário que não é mais necessária, use o comando deluser ou userdel.

5.2.1 Usando o comando deluser (Recomendado)

O comando deluser é o contraponto do adduser e é usado para remover usuários.

Exemplo de comando
sudo deluser newuser
Removendo também o diretório home
sudo deluser --remove-home newuser

Este comando excluirá tanto a conta do usuário quanto o diretório home do usuário (/home/newuser).

5.2.2 Usando o comando userdel ( usuários avançados)

O comando userdel oferece controle mais direto sobre a remoção de usuários.

Exemplo de comando
sudo userdel newuser
Excluindo o diretório home
sudo userdel -r newuser

Ao contrário do deluser, o userdel pode ser arriscado se usado incorretamente, portanto tenha cautela.

5.3 Modificando informações do usuário

Para modificar os detalhes de um usuário existente, use o comando usermod.

5.3.1 Alterando o nome de usuário

Exemplo de comando
sudo usermod -l newname oldname

Isso altera oldname para newname.

5.3.2 Alterando o diretório home

Para mudar o diretório home de um usuário, use a opção -d.

Exemplo de comando
sudo usermod -d /new/home/path user1
Movendo o diretório home atual para um novo local
sudo usermod -d /home/newuser -m user1

5.3.3 Alterando a associação a grupos do usuário

Para adicionar um usuário a um grupo diferente, use usermod -aG.

Adicionando um usuário ao grupo sudo
sudo usermod -aG sudo user1
Verificando a associação atual a grupos
groups user1

5.3.4 Alterando a senha do usuário

Administradores podem mudar a senha de um usuário usando o comando passwd.

Exemplo de comando
sudo passwd user1
Exemplo de saída
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

Este comando atualiza a senha para user1, exigindo que ele use a nova senha no próximo login.

6. Casos de uso práticos para gerenciamento de usuários

Gerenciar usuários no Ubuntu não se resume apenas a listar, adicionar ou excluir. Entender como gerenciar usuários de forma eficaz com base em cenários específicos é fundamental.
Esta seção fornece casos de uso reais e exemplos de comandos para ajudá-lo a gerenciar usuários de maneira eficiente.

6.1 Encontrando usuários com critérios específicos

6.1.1 Listando administradores (usuários com privilégios sudo)

Administradores de sistema frequentemente precisam verificar quais usuários têm privilégios sudo. Você pode obter essa o comando getent para pesquisar o arquivo /etc/group.

Exemplo de comando
getent group sudo
Exemplo de saída
sudo:x:27:user1,user2

Explicação da saída:

  • sudo:x:27: → Informação sobre o grupo sudo
  • user1,user2 → Usuários que pertencem ao grupo sudo

Este método permite verificar rapidamente quais usuários têm privilégios administrativos.

6.1.2 Listando apenas usuários com capacidade de login

O arquivo /etc/passwd inclui tanto usuários de sistema quanto usuários regulares. Para encontrar usuários que realmente podem fazer login, filtre aqueles com um shell válido.

Exemplo de comando
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

Vantagens deste método:

  • Apenas usuários com /bin/bash ou /bin/sh são mostrados
  • Contas de sistema com nologin são excluídas

6.1.3 Listando usuários de sistema (contas sem login)

Usuários de sistema geralmente têm /usr/sbin/nologin ou /bin/false configurado como shell padrão. Você pode filtrá‑los usando o comando a seguir.

Exemplo de comando
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

Verificar contas de sistema garante que elas não sejam excluídas acidentalmente.

6.2 Removendo periodicamente usuários não utilizados

6.2.1 Listando usuários que não fizeram login recentemente

Para excluir usuários inativos, verifique o histórico de último login usando o comando lastlog.

Exemplo de Comando
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
  • Never logged in → Usuário nunca fez login

Com base nessas informações, você pode decidir se deve remover contas inativas.

Comando para Excluir uma Conta Não Utilizada
sudo deluser user2 --remove-home

6.2.2 Verificando a Data da Última Alteração de Senha

O comando chage permite verificar quando um usuário alterou sua senha pela última vez.

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

Se uma senha não foi alterada há muito tempo, você pode querer forçar uma redefinição.

Forçando uma Alteração de Senha
sudo passwd --expire user1

Isso força o usuário a definir uma nova senha no próximo login.

6.3 Verificando Usuários Conectados via SSH

Ao gerenciar um servidor remoto, é importante rastrear quais usuários estão conectados via SSH.

Exemplo de Comando
who | grep pts
Exemplo de Saída
user1    pts/0        192.168.1.10     11:30

Esse comando ajuda a identificar usuários remotos e seus endereços IP.

6.4 Exportando Todas as Informações de Usuários para um Arquivo CSV

Se você precisar criar um relatório listando todos os usuários, pode exportar os dados usando o comando getent.

Exemplo de Comando
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
Exemplo de Saída CSV
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
  • Nomes de usuário, UIDs, GIDs e diretórios home são exportados no formato CSV
  • Os dados podem ser analisados usando Excel ou Google Sheets

7. FAQ (Perguntas Frequentes)

Esta seção responde a perguntas comuns relacionadas ao gerenciamento de usuários no Ubuntu. Ela fornece dicas de solução de problemas e melhores práticas para uma administração eficiente de usuários.

7.1 É Seguro Editar /etc/passwd Diretamente?

Resposta:

A edição direta não é recomendada. O arquivo /etc/passwd é um arquivo crítico do sistema, e modificações incorretas podem impedir que os usuários façam login.

Métodos Recomendados:

Use comandos como usermod ou vipw para edição segura.

Comando de Edição Segura:
sudo vipw

Esse comando bloqueia o arquivo para evitar edições simultâneas, garantindo modificações seguras.

7.2 Qual é a Diferença Entre os Comandos who e users?

Resposta:

Command

Descrição

who

Exibe detalhes sobre usuários conectados, incluindo hora de login e terminal.

users

Exibe apenas os nomes de usuário dos usuários atualmente conectados em uma lista simples.

Exemplo de Uso:

who

Exemplo de Saída:

user1    tty1         2025-02-16 10:05
user2    pts/0        2025-02-16 11:30
users

Exemplo de Saída:

user1 user2

O comando who fornece informações mais detalhadas.

7.3 Como Posso Verificar o Histórico de Login de um Usuário Específico?

Resposta:

Use o comando last para verificar o histórico de login.

Exemplo de Comando:
last user1
Exemplo de Saída:
user1    pts/0        192.168.1.10     Mon Feb 15 10:20   still logged in
user1    tty1                          Mon Feb 10 09:30 - 10:00  (00:30)

Isso ajuda a rastrear atividades de login, incluindo conexões remotas.

7.4 Como Posso Alterar a Senha de um Usuário?

Resposta:

Administradores podem alterar a senha de um usuário usando o comando passwd.

Exemplo de Comando:
sudo passwd user1
Exemplo de Saída:
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

O usuário deve usar a nova senha no próximo login.

7.5 Posso Desabilitar Temporariamente uma Conta de Usuário?

Resposta:

Sim, você pode bloquear temporariamente uma conta usando usermod.

Bloqueando uma Conta:
sudo usermod -L user1

O usuário não poderá fazer login até ser desbloqueado.

Desbloqueando uma Conta:
sudo usermod -U user1

7.6 Como Adiciono um Usuário ao Grupo sudo?

Resposta:

Use o comando usermod para conceder privilégios sudo.

Comando de Exemplo:
sudo usermod -aG sudo user1

Após executar este comando, user1 pode executar comandos com sudo.

7.7 Como Posso Mover o Diretório Inicial de um Usuário?

Resposta:

Use usermod -d para definir um novo diretório inicial.

Comando de Exemplo:
sudo usermod -d /new/home/path -m user1

7.8 Como Removo Completamente um Usuário e Seus Dados?

Resposta:

Use deluser ou userdel para remover um usuário.

Comando de Exemplo:
sudo deluser --remove-home user1

Alternativamente:

sudo userdel -r user1

Isso deletará tanto a conta do usuário quanto o diretório inicial.

7.9 Como Posso Verificar a Atividade de Usuários Ativos?

Resposta:

Use o comando w para monitorar usuários logados.

Comando de Exemplo:
w
Saída de Exemplo:
 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

Este comando ajuda a rastrear a atividade do usuário e a carga do sistema.

8. Conclusão

Gerenciar usuários no Ubuntu é essencial para ambientes pessoais e empresariais. Usando os comandos e técnicas cobertos neste guia, você pode gerenciar efetivamente contas de usuários, aprimorar a segurança e otimizar a administração do sistema.

Monitorar regularmente a atividade do usuário, gerenciar permissões e manter as configurações de segurança atualizadas garantirá um sistema bem mantido e seguro.