Existem vários comandos Linux que podem ser usados para definir uma data de vencimento para uma senha, dependendo da distribuição e das ferramentas disponíveis. Aqui está um colapso dos mais comuns:
1. `chage` (altere as informações de expiração da senha do usuário) * Esta é a ferramenta mais comum e recomendada para gerenciar as datas de expiração de senha. Ele permite definir vários parâmetros de envelhecimento de senha, incluindo:
*
Data de expiração da senha: A data em que a senha deve ser alterada.
*
senha mínima idade: O número de dias em que o usuário deve manter uma senha antes de alterá -la.
*
senha máxima idade: O número de dias uma senha é válida.
*
Dias de aviso: O número de dias antes da expiração para avisar o usuário.
*
dias inativos: O número de dias após a senha expirar antes que a conta seja desativada.
*
Sintaxe: `` `BASH
Chage [Opções] Nome de usuário
`` `
*
Exemplos: *
Defina a data de expiração para uma data específica (AAAA-MM-DD): `` `BASH
SUDO CAGE-EXPIREDATE 2024-12-31 NOME DE USERNO
`` `
*
Defina a senha máxima idade para 90 dias: `` `BASH
Sudo Chage -MaxDays 90 Nome de usuário
`` `
*
Defina a senha mínima idade para 7 dias: `` `BASH
Sudo Chage -Mindays 7 Nome de usuário
`` `
*
Defina o período de aviso para 14 dias: `` `BASH
SUDO CAGE -WARNDAYS 14 Nome de usuário
`` `
*
Desativar o envelhecimento da senha (efetivamente sem expiração): `` `BASH
Sudo Chage -MaxDays -1 Nome de usuário
`` `
*
Exibir informações de envelhecimento de senha para um usuário: `` `BASH
Nome de usuário da CAGA
`` `
*
Notas importantes: * `chage` geralmente requer privilégios de raiz (use` sudo`).
* O comando `chage` modifica o arquivo de senha de sombra (`/etc/shadow`), então tenha cuidado.
* A opção `--exiredate` define a data de expiração * absoluta *. A opção `--maxDays` define a idade * relativa * da senha máxima (a partir da última alteração de senha). O uso de `--expiredate` é geralmente preferido para definir uma data de validade específica.
2. `passwd` (altere a senha do usuário) * Embora usado principalmente para alterar as senhas, o comando `passwd` pode * implicitamente * afetar a expiração da senha. Especificamente, ele atualiza a data de "última alteração de senha", que é usada em conjunto com a idade máxima de senha definida por 'chage'.
*
Sintaxe: `` `BASH
Sudo Passwd Nome de usuário
`` `
*
Como se relaciona com a expiração: * Quando um usuário altera a senha usando o `passwd`, a data" última alterada "em`/etc/shadow` é atualizada. Se uma idade máxima de senha estiver definida (usando `chage - -maxDays`), o sistema calcula a data de validade com base nessa data" última alterada "e na idade máxima.
*
Limitações: * `passwd` sozinho * não pode * definir diretamente uma data de validade específica. Ele apenas atualiza a data de alteração da senha.
* Você ainda precisa usar o 'chage` para configurar a política de envelhecimento de senha (Min/Máxias de dias, dias de aviso).
3. `UserMod` (Modificar conta de usuário) * `UserMod` é um comando poderoso para modificar as propriedades da conta de usuário. Pode ser usado para definir a data de expiração da conta. Isso é * diferente * da expiração de senha. Expiração da conta significa que a própria conta de usuário se tornará inutilizável após essa data.
*
Sintaxe: `` `BASH
sudo usermod -e yyyy-mm-dd nome de usuário
`` `
*
Exemplo: * Defina a data de expiração da conta como 2024-12-31:
`` `BASH
sudo userMod -e 2024-12-31 Nome de usuário
`` `
*
Considerações importantes: * Isso * não é * o mesmo que a expiração de senha. Uma conta pode expirar mesmo que a senha não tenha.
*Se você definir uma expiração de senha (usando `chage`) e uma expiração da conta (usando` UserMod -e`), a conta expirará em qualquer data que vier *mais cedo *.
* Para remover a data de expiração da conta:
`` `BASH
sudo userMod -e "" Nome de usuário # String vazia remove a expiração
`` `
Qual comando usar? *
para expiração de senha (a própria senha se torna inválida após um certo tempo): Use `chage`. Esta é a abordagem mais comum e recomendada para gerenciar o envelhecimento de senha.
*
para expiração da conta (a própria conta de usuário se torna inutilizável após um certo tempo): Use `UserMod -e`. Isso é útil para contas temporárias ou quando você deseja desativar uma conta em uma data específica.
*
`passwd` é usado para * alterando * a senha, que será levada em consideração na política de expiração de senha existente (definida por `chage`).
Cenário de exemplo:definindo uma expiração de senha de 90 dias para um usuário chamado "John": 1.
Defina a idade máxima da senha para 90 dias: `` `BASH
Sudo Chage -MaxDays 90 John
`` `
2.
(opcional) Defina um período de aviso de 14 dias: `` `BASH
Sudo Chage -WarnDays 14 John
`` `
3.
(opcional) Altere a senha (para redefinir a data "Last Alteril": `` `BASH
sudo passwd John
`` `
A partir do ponto em que o `John 'altera sua senha, eles terão 90 dias antes de serem solicitados a alterá -la novamente. 14 dias antes do prazo de 90 dias, eles receberão uma mensagem de aviso.
Considerações de segurança: *
políticas de envelhecimento de senha: Implemente políticas de envelhecimento de senha fortes (idade mínima/máxima apropriada, períodos de aviso) para aumentar a segurança.
*
Complexidade da senha: Aplicar os requisitos de complexidade de senha fortes (comprimento mínimo, estojo misto, caracteres especiais) para dificultar a quebra de senhas.
*
Monitoramento regular: Revise regularmente as contas de usuário e as políticas de envelhecimento de senha para garantir que sejam apropriadas e eficazes.
*
Métodos de autenticação: Considere o uso da autenticação de vários fatores (MFA) para contas críticas para adicionar uma camada extra de segurança.
Escolha o comando que melhor atenda às suas necessidades específicas e sempre tenha cuidado ao modificar as configurações da conta do usuário. Lembre-se de consultar a documentação da sua distribuição Linux para obter as informações mais precisas e atualizadas.