Nos sistemas
GNU/Linux, as informações sobre usuários e grupos podem ser armazenadas de diversas formas, dependendo da necessidade e complexidade do sistema, número de usuários, etc.
Entretanto, essas informações, por padrão, ficam armazenadas em arquivos de texto dentro do diretório /etc/.
/etc/passwd
Nesse arquivo ficam armazenadas as informações sobre os usuários. Ele é constituído de diversas linhas, uma para cada usuário. Essas linhas contém diversos campos, a saber:
- Login de usuário;
- Password criptografado;
- UID: O UID (User Identity, ou identidade de usuário) é o número de identificação do usuário;
- GID: O GID (Group Identity, ou identidade do grupo) é o número de identificação do grupo padrão do usuário;
- Comentários;
- Diretório pessoal;
- Shell.
Veja nesse exemplo como estão dispostas as informações sobre o usuário private no arquivo /etc/passwd.
private:x:1014:1014:Usuário Anônimo FTP:/pub/privado/:/bin/bash
Shadow passwords
O arquivo /etc/passwd contém informações sobre todos os usuários, inclusive as suas senhas criptografadas. Ele é legível por todos os usuários e, por isso, estas senhas podem ser facilmente descobertas por crackers. Para evitar isso e aumentar a segurança do sistema, adotaram o sistema de sombreamento de senhas, o shadow passwords.
Quando o sistema de sombreamento de senhas está disponível, o campo password do arquivo /etc/passwd é substituído por um "x" e a senha do usuário é armazenada no arquivo
/etc/shadow. Este arquivo só pode ser lido pelo usuário root, o administrador do sistema, o que dificulta muito a ação de usuários maliciosos, aumentando a segurança das senhas dos usuários.
O arquivo /etc/shadow é organizado da mesma forma que o /etc/passwd: uma linha para cada usuário, divididas em campos, que são:
- Login de usuário;
- Password criptografado;
- Tempo de expiração da senha.
Como no exemplo abaixo:
private:$1$3ZkVpbv6$z.T9d907rVyIcxUFy3wwk.:12643:0:99999:7:::
/etc/group
Este arquivo armazena as informações sobre os grupos de usuários. O formato é similar ao do /etc/passwd e seus campos são:
- Nome do grupo;
- Password;
- GID;
- Grupos membros do grupo.
Abaixo as informações sobre o grupo "osdormesujo" no /etc/group.
osdormesujo:x:104:crildo,teste,tux,win2kserver
Como podemos ver, existem 4 (quatro) usuários que pertencem a esse grupo: crildo, teste, tux e win2kserver.
/etc/gshadow
O arquivo /etc/gshadow possui as mesmas funções do arquivo /etc/shadow, mas dificilmente veremos senhas aqui.
Veja um exemplo desse arquivo:
osdormesujo:!::
teste:!::
tux:!::