O que é o arquivo Linux / etc / shadow e o que ele faz?
Procurando nos arquivos do sistema Linux, você pode ter encontrado um arquivo no diretório / etc chamado shadow . Pode parecer assustador, mas é realmente um arquivo seguro, necessário e útil para a administração do sistema.
Hoje, examinaremos mais de perto o conteúdo do arquivo / etc / shadow e o que ele pode dizer sobre o seu sistema.
O que é / etc / shadow?
Por mais misterioso que pareça, a função do arquivo é bastante direta. O arquivo / etc / shadow contém informações sobre os usuários de um sistema Linux, suas senhas e os regulamentos de tempo para suas senhas.
Quando você cria ou altera uma senha no Linux , o sistema faz o hash e a armazena no arquivo shadow. Quaisquer regras de senha atribuídas pelo administrador, como datas de expiração e períodos de inatividade, também permanecerão aqui. O arquivo shadow pode informar aos protocolos de autenticação se a senha de um usuário está correta, por exemplo, ou quando expirou.
Você nunca deve editar o arquivo shadow diretamente. É mantido por processos automatizados e não deve ser modificado por usuários regulares. No entanto, as informações que ele contém podem ser valiosas para você, portanto, vale a pena dar uma olhada.
O que há no arquivo shadow do Linux?
Para ver o conteúdo do arquivo shadow, abra um terminal e execute o comando cat nele:
sudo cat /etc/shadow
Você verá um prompt solicitando sua senha. Supondo que você tenha permissões administrativas, você verá uma impressão de sequências de texto semelhantes a esta (reticências marcam onde a sequência foi cortada para caber na tela):
muo1:$6$IK2...$20a...:18731:0:99999:7:::
Parece enigmático e, de fato, parte dele é texto criptografado. A string segue uma construção particular, no entanto, e pedaços casas específicas de informação, delineados por dois pontos: caracteres ().
Aqui está um layout completo da string:
[username]:[password]:[date of last password change]:[minimum password age]:[maximum password age]:[warning period]:[inactivity period]:[expiration date]:[unused]
Vamos dar uma olhada em cada um desses campos:
1. Nome de usuário
Tudo o que segue na string está associado a este nome de usuário.
2. Senha
O campo de senha consiste em três campos adicionais, delineados por cifrões: $ id $ salt $ hash .
- id: define o algoritmo de criptografia usado para criptografar sua senha. Os valores podem ser 1 (MD5), 2a (Blowfish), 2y (Eksblowfish), 5 (SHA-256) ou 6 (SHA-512).
- salt: Este é o salt usado para criptografar e autenticar a senha.
- hash: esta é a senha do usuário conforme aparece após o hash. O arquivo shadow mantém uma versão em hash de sua senha para que o sistema possa verificar qualquer tentativa de digitação de sua senha.
Às vezes, o campo de senha contém apenas um asterisco ( * ) ou ponto de exclamação ( ! ). Isso significa que o sistema desabilitou a conta do usuário ou o usuário deve se autenticar por meios diferentes de uma senha. Geralmente, esse é o caso de processos do sistema (também conhecidos como pseudo-usuários) que você provavelmente encontrará no arquivo shadow.
3. Data da última alteração de senha
Aqui você encontrará a última vez que este usuário alterou sua senha. Observe que o sistema exibe a data no formato de hora Unix .
4. Idade mínima da senha
Você encontrará aqui o número de dias que o usuário deve esperar depois de alterar sua senha antes de alterá-la novamente.
Se o mínimo não for definido, o valor aqui será 0.
5. Idade máxima da senha
Isso define quanto tempo um usuário pode ficar sem alterar sua senha. Alterar a senha com frequência tem seus benefícios , mas, por padrão, o valor será definido em generosos 99.999 dias. Isso é quase 275 anos.
6. Período de Aviso
Este campo determina o número de dias antes que uma senha atinja sua idade máxima, durante os quais o usuário receberá lembretes para alterar sua senha.
7. Período de inatividade
Este é o número de dias que podem passar após a senha do usuário atingir sua idade máxima antes que o sistema desative a conta. Pense nisso como um "período de carência" durante o qual o usuário tem uma segunda chance de alterar sua senha, mesmo que ela esteja tecnicamente expirada.
8. Data de Vencimento
Esta data é o fim do período de inatividade quando o sistema irá desabilitar automaticamente a conta do usuário. Uma vez desativado, o usuário não poderá fazer o login até que um administrador o habilite novamente.
Este campo ficará vazio se não for configurado, e se for configurado, a data aparecerá no tempo da época.
9. Não utilizado
Este campo atualmente não tem nenhum propósito e é reservado para uso futuro em potencial.
O arquivo sombra explicado
O arquivo shadow realmente não é misterioso. Lembre-se, entretanto, que se você deseja alterar as senhas e as regras de senha, deve evitar editar o arquivo shadow diretamente e, em vez disso, optar por usar as ferramentas designadas para esse fim.
Sempre que você adiciona um novo usuário ao sistema Linux, o arquivo / etc / shadow é modificado automaticamente para armazenar as informações de autenticação sobre o usuário.