Back to blog

Gerenciando Usuários no Linux

3 min de leitura
648 palavras

Gerenciando Usuários no Linux

O arquivo /etc/passwd é uma das peças-chave na gestão de usuários em sistemas Linux. Ele armazena informações essenciais sobre cada usuário, como nome, identificação única (UID), grupo primário (GID), diretório home e shell padrão.

Entendendo uma Linha Típica do /etc/passwd

Vamos analisar uma linha de exemplo:

postgres:x:1000:1000:Linux User,,,:/var/lib/postgresql:/bin/sh

  • postgres: Nome do usuário.
  • x: Senha criptografada ou não definida.
  • 1000: UID: Identificador numérico único do usuário.
  • 1000: GID: Identificador do grupo primário ao qual o usuário pertence.
  • Linux User: Comentário sobre o usuário.
  • /var/lib/postgresql: Diretório home do usuário.
  • /bin/sh: Shell padrão do usuário.

Comandos para Gerenciar Usuários

Os principais comandos para manipular usuários no Linux são:

  • useradd****: Cria um novo usuário.
    • Sintaxe básica: useradd nome_do_usuario
    • Opções comuns:
      • u UID: Define o UID do usuário.
      • -m: Esta flag cria automaticamente o diretório home para o usuário. O diretório home será localizado em /home/usuario, onde usuario é o nome do usuário criado.
      • g GID: Define o GID primário do usuário.
      • d DIRETÓRIO: Define o diretório home.
      • s SHELL: Define o shell padrão.
      • c COMENTÁRIO: Adiciona um comentário sobre o usuário.
  • usermod****: Modifica as informações de um usuário existente.
    • Sintaxe básica: usermod -n novo_nome nome_do_usuario
    • Outras opções:
      • u: Altera o UID (User ID) do usuário. Exemplo: usermod -u 1001 username.
      • g: Altera o GID (Group ID) primário do usuário. Exemplo: usermod -g 1001 username.
      • d: Altera o diretório home do usuário. Exemplo: usermod -d /novo/diretorio/home username. Se desejar mover o conteúdo do diretório home antigo para o novo, use m junto com d.
      • s: Altera o shell padrão do usuário. Exemplo: usermod -s /bin/zsh username.
      • L: Bloqueia o usuário, desativando a conta. Exemplo: usermod -L username. Isso define a senha do usuário para um valor inexistente, efetivamente bloqueando o login.
      • U: Desbloqueia o usuário, ativando a conta. Exemplo: usermod -U username. Isso restaura a senha do usuário, permitindo o login novamente.
      • aG: Adiciona o usuário a um ou mais grupos suplementares sem removê-lo de outros grupos. Exemplo: usermod -aG grupo1,grupo2 username.
  • userdel****: Remove um usuário.
    • Sintaxe básica: userdel nome_do_usuario
    • Opção r****: Remove o diretório home do usuário.

Exemplo:

Para criar um novo usuário chamado "novo_usuario" com UID 2000, GID 2000, diretório home em /home/novo_usuario e shell /bin/bash, execute:

useradd -u 2000 -g 2000 -d /home/novo_usuario -s /bin/bash novo_usuario

O Arquivo /etc/passwd e Segurança

  • Senha: A senha armazenada em /etc/passwd é geralmente criptografada, mas por motivos de segurança, é recomendado utilizar um sistema de autenticação mais robusto como o LDAP ou o PAM.
  • Permissões: O arquivo /etc/passwd possui permissões restritas para evitar modificações não autorizadas.
  • Outros Arquivos: Além de /etc/passwd, outros arquivos como /etc/shadow (armazena as senhas criptografadas), /etc/group (lista os grupos) e /etc/gshadow (armazena as senhas dos grupos) são importantes para a gestão de usuários e grupos.

Considerações Adicionais:

  • Grupos: Os usuários podem pertencer a múltiplos grupos, definidos no arquivo /etc/group. O comando groups lista os grupos aos quais um usuário pertence.
  • Sudo: O comando sudo permite que usuários não root executem comandos com privilégios de root.
  • PAM: Pluggable Authentication Modules (PAM) é um framework que fornece um mecanismo flexível para autenticação, autorização e contabilidade.

Para aprofundar seus conhecimentos:

  • Manuais: Consulte os manuais dos comandos useradd, usermod, userdel, passwd e groupadd.