Visão Geral
Estabelecer ciclos controlados de rotação de credenciais é uma das práticas fundamentais para o endurecimento da segurança em servidores Linux. Neste laboratório prático, exploramos a ferramenta chage para configurar intervalos de expiração de senhas e regras automatizadas de inativação de contas. A partir de um usuário de testes isolado, você dominará o diagnóstico de parâmetros vigentes, a definição de políticas de validade e a exigência de troca imediata no primeiro acesso.
1. Provisionando o Usuário de Teste e Inspecionando Parâmetros Atuais (chage -l)
Para conduzir a demonstração em um ambiente seguro sem interferir nas contas reais do sistema, criamos o usuário descartável testuser caso ele ainda não exista.

Em seguida, atribuímos uma credencial provisória ao perfil recém-gerado utilizando o comando chpasswd.

O binário chage (abreviação de change age) gerencia diretamente as datas de validade e as diretrizes de envelhecimento de credenciais registradas no arquivo /etc/shadow.
Com a opção -l, realizamos uma auditoria nos atributos de expiração associados a testuser.
⚙️ [Opções Principais]
-l : Apresenta o relatório com as informações completas de validade e histórico da conta.-m : Estipula a carência mínima de dias exigida antes que uma nova troca de senha seja permitida.-M : Define a quantidade máxima de dias que a senha permanece válida antes de expirar.-W : Determina a antecedência em dias para emitir notificações de alerta sobre o término do prazo.-I : Estabelece o período de tolerância inativa após a expiração da senha até o travamento do login.-E : Especifica uma data limite no calendário para a expiração sumária do acesso do usuário.-d : Ajusta a marca temporal referente ao último dia em que a senha foi modificada.

2. Impondo Prazos de Troca e Notificações Preventivas (-m, -M, -W)
Configuramos as diretrizes operacionais de testuser aplicando um intervalo mínimo de 7 dias entre modificações (-m 7), uma validade limite de 90 dias (-M 90) e uma janela de aviso prévio de 14 dias (-W 14).
Essa abordagem previne a troca contínua e impulsiva de senhas e assegura uma renovação periódica regular.

Invocamos novamente a opção -l para validar se os novos limites foram assimilados corretamente pelo subsistema de autenticação.
A saída exibida no terminal demonstra a efetivação dos 7 dias mínimos, do teto de 90 dias e do alerta emitido com 14 dias de antecedência, recalculando as próximas datas de rotação de acordo.

3. Estabelecendo Inatividade Pós-Expiração e Validade da Conta (-E, -I)
Definimos a suspensão definitiva da conta para 31 de dezembro de 2026 (-E 2026-12-31) e concedemos uma carência de 7 dias pós-expiração da senha (-I 7) antes de bloquear totalmente o acesso.
Esse método é essencial para gerenciar terceiros ou acessos temporários, garantindo o cancelamento programado de permissões sem depender de intervenções manuais posteriores.

Com o parâmetro -l, confirmamos a aplicação precisa dos novos critérios de encerramento.
O sumário detalhado aponta a data programada para expiração da conta (Account expires : Dec 31, 2026) bem como o início da inatividade compulsória caso o usuário ignore o vencimento (Password inactive : Jan 21, 2027).

4. Forçando Atualização no Primeiro Acesso e Limpeza do Sistema (-d 0)
Ao redefinir a data da última troca de senha para zero (-d 0), instruímos os módulos PAM a exigirem a substituição imediata da credencial durante o próximo login do usuário.
Essa manobra impede o uso continuado de senhas provisórias atribuídas por administradores, delegando ao titular a definição do seu próprio código de acesso.

Avaliamos o estado do perfil executando mais uma vez o comando de diagnóstico -l.
Tanto a marca de última alteração (Last password change) quanto o prazo de vigência (Password expires) registram o estado password must be changed, inviabilizando a continuidade da sessão antes da atualização da credencial.

Finalizado o procedimento, excluímos a conta testuser juntamente com o seu respectivo diretório home via userdel -r para restaurar o estado original da máquina.

Vimos como o utilitário chage oferece controle granular sobre os ciclos de vida de contas de usuário e a validade de senhas no Linux.
Implementar políticas consistentes de rotação e expiração eleva significativamente o nível de segurança e governança da sua infraestrutura operacional.