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:
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;
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.
The addgroup
and delgroup
commands add or delete a group, respectively. The groupmod
command modifies a group's information (its gid
or identifier). The command gpasswd group
changes the password for the group, while the gpasswd -r group
command deletes it.