web-dev-qa-db-fra.com

Comment changer / désactiver le test de complexité du mot de passe lors du changement de mot de passe?

Je sais que c'est une "mauvaise" idée, je sais que ce n'est pas sécurisé, je sais. Je cherchai une réponse sur le net et je ne vis que des pleurs que ce ne soit pas bon. Mais j'aime bien utiliser Linux car cela me permet de créer le système que je veux et que j'aime utiliser. La fin de l'intro.

J'essaie de changer le mot de passe:

ruslan:~% passwd
Changing password for ruslan.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password

Si j'essaie Sudo passwd ruslan, je peux définir le mot de passe que je souhaite, de sorte que je n'ai pas besoin de vérification de la complexité du mot de passe pour le mot de passe sur mon système.

Après avoir cherché sur Google, j'ai constaté qu'il devrait y avoir PAM module pam_cracklib qui teste la complexité du mot de passe et qui peut être configuré. Mais les paramètres de mon mot de passe PAM n'incluent pas pam_cracklib:

% cat /etc/pam.d/passwd | grep '^[^#]'
@include common-password
% cat /etc/pam.d/common-password | grep '^[^#]'
password    [success=1 default=ignore]  pam_unix.so obscure sha512
password    requisite           pam_deny.so
password    required            pam_permit.so
password    optional    pam_gnome_keyring.so 

Je suppose que pam_unix effectue ce test ... Oups ... Les gars, au moment où j'ai fini d'écrire cette phrase, j'ai un Enlightenment et tapé man pam_unix dans le terminal où j'ai trouvé les options nécessaires pour le module pam_unix.

Je viens de supprimer l'option obscure et d'ajouter minlen = 1 et maintenant je suis heureux. Alors maintenant, j'ai cette ligne dans /etc/pam.d/common-password:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

et je peux définir le mot de passe que je veux.

J'ai décidé de garder ce poste pour les personnes qui pourraient avoir besoin de cette solution également. Désolé et merci.

45
rslnx

Ok, je vais répondre à ma question :)

J'ai constaté que le module pam_unix effectue une vérification de la complexité du mot de passe et qu'il peut être configuré.

man pam_unix:

   minlen=n
       Set a minimum password length of n characters. The default value is
       6. The maximum for DES crypt-based passwords is 8 characters.

   obscure
       Enable some extra checks on password strength. These checks are
       based on the "obscure" checks in the original shadow package. The
       behavior is similar to the pam_cracklib module, but for
       non-dictionary-based checks.

Solution:
Modifiez la ligne dans le module pam_unix du fichier /etc/pam.d/common-password en:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

Il vous permet de définir n'importe quel mot de passe avec une longueur minimale de 1.

52
rslnx

S'il s'agit d'une fois, en utilisant la commande passwd en tant que root, vous pouvez définir un mot de passe simple pour un utilisateur en entrant simplement la valeur souhaitée.

9
sweetfa

Ouvrir le fichier de configuration de mot de passe commun pour le modifier

Sudo gedit /etc/pam.d/common-password

Commentez cette ligne:

#password   [success=2 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512

Ajoutez également des commentaires sur cette ligne, sinon le paramètre password vous demandera de transmettre un mélange de lettres majuscules/minuscules:

#password   requisite           pam_passwdqc.so enforce=everyone max=18 min=disabled,8,8,1,1 retry=2 similar=deny

ajoutez maintenant cette ligne dans le même fichier:

password    [success=1 default=ignore]  pam_unix.so **minlen=1** sha512

cela devrait le faire ...

7
rptr87