Chpasswd nombres de caractère limités?

Bonjour,

Je souhaiterais changer des mots de passe via un script, cependant je rencontre un problème.

echo "toto:<mdp_long>" | chgpasswd

cette commande fonctionne et change bien le mdp, cependant mon mot de passe est tronqué à 10 caractères.

Par contre si je change le mdp à la mano à l'aide de la commande passwd cela fonctionne trés bien.

j'ai cru comprendre qu'il y avait un bug il y a bien longtemps sur la commande chpasswd mais je n'arrive pas à mettre à jour ou a trouver comment contourner ce problème (changement de mot de passe via script)

j'ai voulu essayé le changement de mot de passe via la commande :

echo -e "new_password\nnew_password" | (passwd --stdin $USER)

mais l'option stdin n'existe pas.

Merci d'avance.

OS utilisé : Debian 4.0
Configuration: Windows Vista
Firefox 3.0.15

4 réponses

  1. Modérateur
    Salut,

    T'es sur que l'option --stdin n'est pas reconnue ? Que dit le man ?
    0
    1. [15:37:54] ks307983:~$ passwd -h
      passwd: option invalide -- h
      Syntaxe : passwd [options] [IDENTIFIANT]

      Options :
      -a, --all afficher l'tat des mots de passe de tous les
      comptes
      -d, --delete supprimer le mot de passe du compte indiqu
      -e, --expire forcer la fin de validit du compte indiqu
      -h, --help afficher ce message d'aide et quitter
      -k, --keep-tokens ne changer le mot de passe que s'il
      est arriv en fin de validit
      -i, --inactive INACTIF fixer la dure d'inactivation du mot de passe
      aprs sa fin de validit INACTIF
      -l, --lock bloquer le compte indiqu
      -n, --mindays JOURS_MIN fixer le nombre minimum de jours avant le
      changement de mot de passe JOURS_MIN
      -q, --quiet mode silencieux
      -r, --repository DPT changer le mot de passe dans le dpt DPT
      -S, --status afficher l'tat du mot de passe du compte
      indiqu
      -u, --unlock dverrouiller le compte indiqu
      -w, --warndays JOURS_AVERT fixer le nombre de jours d'avertissement
      de fin de validit JOURS_AVERT
      -x, --maxdays JOURS_MAX fixer le nombre maximum de jours avant le
      changement de mot de passe JOURS_MAX
      0
      1. Modérateur
        Et man passwd ???

               --stdin
                      Cette  option est utilisée pour indiquer que passwd doit lire le
                      nouveau mot de passe depuis l'entrée standard, qui peut être  un
                      tube.
        0
        1. je ne vais pas te mettre tout mon man, mais malheureusement je n'ai pas cette option. quel est ta version de passwd?

          [15:46:17] host:~$ dpkg -l | grep passwd
          ii base-passwd 3.5.11 Debian base system master password and group
          ii passwd 4.0.18.1-7+etch1 change and administer password and group dat
          0
      2. Modérateur
        C'est une vieille version et effectivement sur une Ubuntu plus récente l'option n'existe plus ;-((
        0
        1. Merci de m'aider

          Mince, je me retrouve bloquer. Tout mes mots de passe mise en place avec chpasswd se retrouve tronqué à 10 caractères et je ne trouve pas d'autres moyen pour les changer avec un script.

          C'est gênant.
          0
        2. @paulin1503Est ce que quelqu'un connait un moyen d'installer une version de chpasswd non buggé ou peut être une façon de changer les mdp directement dans /etc/shadow??

          Merci d'avance
          0