Product SiteDocumentation Site

8.4. Usuário e grupo bancos de dados

A lista de usuários é normalmente armazenada no /etc/passwd, enquanto o /etc/shadow armazena senhas criptografadas. Ambos são arquivos de texto, em um formato relativamente simples, que podem ser lidos e modificados com um editor de texto. Cada usuário está listado lá em uma linha com vários campos separados por dois-pontos (“:”).

8.4.1. Lista de Usuários: /etc/passwd

Aqui está uma lista de campos do arquivo /etc/passwd:
  • login, por exemplo rhertzog;
  • password: é uma senha criptografada por uma função unidirecional (crypt), que se baseia em DES, MD5, SHA-256 ou SHA-512. O valor especial “x” indica que a senha criptografada é armazenada em /etc/shadow;
  • uid: identificar numérico único para cada usuário;
  • gid:número único para o grupo principal do usuário (O Debian cria, por padrão, um grupo específico para cada usuário);
  • GECOS: campo de dados contendo normalmente o nome completo de usuário;
  • diretório de login, atribuído ao usuário para armazenar arquivos pessoais (a variável de ambiente $HOME geralmente aponta para ele);
  • programa para executar no login. Em geral é um interpretador de comandos (shell), deixando o usuário com "rédea solta". Se você especificar /bin/false (que não faz nada e devolve o controle imediatamente), o usuário não vai conseguir fazer login.

8.4.2. O Oculto e Criptografo Arquivo de Senhas: /etc/shadow

O arquivo /etc/shadow contém os seguintes campos:
  • login;
  • senha criptografada;
  • diversos campos controlam a expiração da senha.

8.4.3. Modificando uma Conta de Usuário Existente ou Senha

Os seguintes comandos permitem a modificação das informações armazenadas em campos específicos do banco de dados do usuário: passwd permite que um usuário comum altere sua senha, que por sua vez, atualiza o arquivo /etc/shadow; chfn(CHange Full Name), reservado para o superusuário (root), modifica o campo GECOS.chsh (CHange SHell) permite que o usuário altere seu shell de login, contudo, as opções disponíveis estarão limitadas as opções listadas em /etc/shells; o administrador, por outro lado, não tem essa restrição e pode definir o shell para qualquer programa de sua escolha.
Finalmente, o comando chage (CHange AGE) permite ao administrador alterar as configurações de expiração da senha (a opção -l user irá listar as configurações corrente). Vocẽ também pode forçar a expiração da senha usando o comando passwd -e user, o qual irá requerer que o usuário altere sua senha na próxima vez que iniciar uma sessão.

8.4.4. Desabilitando uma Conta

Você pode necessitar “desabilitar uma conta” (bloquear um usuário), como uma medida disciplinar, para propósitos de uma investigação, ou simplesmente no caso de uma prolongada ou definitiva ausência de um usuário. Uma conta desabilitada significa que o usuário não pode iniciar uma sessão ou ganhar acesso a máquina. A conta permanece intacta na máquina e nenhum arquivo ou dado é apagado; ela é simplesmente inacessível. Isso é feito usando o comando passwd -l user (bloqueio). Reabilitar a conta é feito de maneira similar, com a opção -u (desbloqueio).

8.4.5. Lista de Grupo: /etc/group

Grupos são listados no arquivo /etc/group, um banco de dados de texto simples em um formato similar ao arquivo /etc/passwd, com os seguintes campos:
  • nome do grupo;
  • senha (opcional): Isso só é usado para participar de um grupo quando não se é um membro usual (com os comandos newgrp ou sg, veja barra lateral DE VOLTA AO BÁSICO Trabalhando com grupos diversos);
  • gid: identificar numérico único para cada grupo;
  • lista de membros: lista de nomes de usuários que são membros do grupo, separados por vírgulas.
Os comandos addgroup e delgroup adicionam ou apagam um grupo, respectivamente. O comando groupmod modifica a informação do grupo (seu gid ou identificador). O comando passwd -g grupo altera a senha para o grupo, enquanto o comando passwd -r -g grupo o apaga.