Edite o arquivo passwd que se encontra em /etc/pam.d/system-auth, da seguinte forma:

  1. vim /etc/pam.d/system-auth
    Configurar a linha de senha de forma que fique algo parecido com o seguinte:
    Password required pam_cracklib.so difok=3 minlen=7 ucredit=3 ocredit=2 retry=6
    Onde:
  • difok=3 –> quantidade de caracteres que podem se repetir em relação à última senha. Por exemplo, se a senha antiga era "kalib" e a nova senha digitada for "kalamba", será exibida uma mensagem de erro, foi 3 letras foram repetidas na senha anterior "kal".
  • minlen=7 –> quantidade mínima de caracteres aceitos para a senha do usuário. No exemplo, o mínimo de caracteres aceitos serão 7, caso contrário será apresentada uma mensagem de erro solicitando que o usuário tente uma nova senha.
  • ucredit=3 –> quantidade de letras maiúsculas que deverão compor a senha. No exemplo, serão necessárias pelo menos 3 letras em maiúsculo na nova senha.
  • ocredit=2 –> quantidade de "outros caracteres" ou caracteres especiais, como por exemplo *, &, %, $, _, etc.
  • retry=6 –> quantas vezes o usuário vai poder tentar, em caso de senha indevida, antes de receber a mensagem de erro.

Outros parâmetros que podem ser utilizados são os seguintes:

  • dcredit=x –> Informa a quantidade de dígitos que deverão ser utilizados como números na senha, onde x é o número mínimo desejado.
  • lcredit=x –> Informa a quantidade de caracteres minúsculos, ou "Lower Characters", mínimos em sua senha.

Para impedir que a nova senha não seja igual às anteriores, no mesmo arquivo do ponto anterior, iremos inserir o parâmetro remember na linha conforme exemplo:
password sufficient pam_unix.so use_authtok md5 shadow remember=4

  • remember=4 –> Informa que a nova senha não poderá ser igual às últimas 4 senhas utilizadas por este usuário.

Para definir uma política para criação de senhas seguras, o comando "chage" serve para definir datas de expiração ou validade das senhas:

  1. chage -l usuário
    O comando acima verifica os atributos de validade daquela senha, e retornará algo similar ao seguinte:
    Last password change : May 25, 2017
    Password expires : never
    Password inactive : never
    Account expires : never
    Minimum number of days between password change : 0
    Maximum number of days between password change : 99999
    Number of days of warning before password expires : 7
  2. chage -M 90 -m 0 -W 7 linustorvalds
    Este comando aplica a política de senha para o usuário "linustorvalds", onde:
  • M 90 –> define que a senha será válida por um máximo de 90 dias, quando a mesma deverá ser trocada.
  • m 0 –> define o número mínimo de dias em que o usuário poderá trocar sua senha antes do período especificado para expiração. Caso o usuário possa trocar a qualquer momento ou dia, o valor deverá ser 0.
  • -W 7 –> número de dias antes de expirar nos quais o usuário vai receber alertas informando que sua senha irá expirar.

Além disto, é possível definir que a senha do usuário "linustorvalds" seja trocada no próximo login do mesmo. Neste caso pode ser usado o parâmetro -d, conforme exemplo abaixo:

  1. chage -d 0 linuxtorvalds
  • Sem rótulos