5505 links
  • GuiGui's Show

  • Home
  • Login
  • RSS Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
page 1 / 1
  • adduser / passwd demandent de saisir le mot de passe actuel ?! Merci, pam_script

    Sur ma machine perso GNU/Linux Buster, j'ajoute un utilisateur :

    $ sudo adduser toto
    [sudo] Mot de passe de guigui : 
    Ajout de l'utilisateur « toto » ...
    Ajout du nouveau groupe « toto » (1002) ...
    Ajout du nouvel utilisateur « toto » (1002) avec le groupe « toto » ...
    Création du répertoire personnel « /home/toto »...
    Copie des fichiers depuis « /etc/skel »...
    Current password: 
    New password: 
    New password (again): 
    Mot de passe inchangé
    passwd: Erreur de manipulation du jeton d'authentification
    passwd: password unchanged

    Le comportement est identique après un su - root.

    Depuis quand passwd demande l'ancien mot de passe quand on crée un compte ?! Depuis quand cette demande se fait-elle en anglais ?

    Je crée un compte sans mot de passe (entrée, entrée, entrée, entrée, etc.) puis je tente de changer le mdp :

    # passwd toto 
    Current password: 
    New password: 
    New password (again): 
    Aucun mot de passe fourni
    passwd: Erreur de manipulation du jeton d'authentification
    passwd: password unchanged

    … … …

    J'ai trouvé l'origine du problème avec de la chance : j'ai installé le module pam_script. Celui-ci modifie le fichier /etc/pam.d/common-password de la manière suivante :

    - password        [success=1 default=ignore]      pam_unix.so obscure sha512
    + password        sufficient                      pam_script.so
    + password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512

    C'est donc pam_script qui affiche « Current password » / « New password » / « New password (again) ». A priori, ce n'est pas un script lancé par pam_script mais bien pam_script lui-même qui affiche cela, car, en mettant mon /etc dans un dépôt git, je n'ai pas trouvé un quelconque script et l'installation de libpam-script ne modifie / n'ajoute pas d'autres fichiers dans /etc.

    Du coup, si l'on répond uniquement avec entrée, on devrait passer au module suivant, pam_unix.so, non ? Oui.

    Donc retrouver le comportement habituel ? Non. Car pam_unix est exécuté avec l'argument « use_authtok » qui lui ordonne de définir le nouveau mot de passe à la valeur fournie par un module précédent… Or, nous ne l'avons pas saisi. Le module pam_unix affiche donc « Aucun mot de passe fourni ». Puis le module pam_deny afffiche les deux dernières lignes.

    Saisir un nouveau mot de passe sans saisir le mot de passe actuel change rien : la comparaison entre le mot de passe enregistré en base et celui saisi échouera, donc pam_unix échouera.

    Solution ? Soit désinstaller libpam-script (je l'avais installé pour tester des choses). Soit commenter la ligne pam_script et virer les arguments « use_authtok try_first_pass » de pam_unix.

    Fri Nov 13 19:51:51 2020 - permalink -
    - http://shaarli.guiguishow.info/?E9iTJw
Links per page: 20 50 100
page 1 / 1
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community