Forum Linux.général Comment attribuer un mot de passe avec useradd ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
24
avr.
2007
Bonjour,

J'aimerais créer un nouveau compte sur une machine, dont le mot de passe est défini. Mais l'option -p de useradd demande un mot de passe crypté.

Comment obtenir la version cryptée d'un mot de passe, pour utilisation par useradd ? On parle de crypt(3), mais bon, je ne vais pas faire un programme en C pour connaitre la version cryptée du mot de passe... J'ai aussi tenté avec la version qu'il y avait dans /etc/shadow, mais le cryptage ne doit pas être le même.

Une idée ?
  • # chpasswd

    Posté par  . Évalué à 1.

    Tres utile pour scripter sans trop se prendre la tête aussi :

    ( echo $UTIL:$PASSUNIX ) | chpasswd 1>/dev/null 2>&1
    • [^] # Re: chpasswd

      Posté par  (site web personnel) . Évalué à 2.

      Le mot de passe est visible en clair dans le script avec chpasswd...
      C'est ce que j'utilise en attendant de trouver mieux, mais je voudrais quelque chose où je puisse scripter et avoir un mot de passe codé.
      • [^] # Re: chpasswd

        Posté par  . Évalué à 1.

        A priori, c faisable facilement avec perl.

        => http://www.redhat.com/archives/kickstart-list/2003-January/m(...)
        • [^] # Re: chpasswd

          Posté par  . Évalué à 4.

          Ou en C :

          #define _XOPEN_SOURCE
          #include <unistd.h>

          int main (void)
          {
          const char* passwd="le_mot_de_passe_a_crypter";
          const char* salt="$1$ce_que_je_veux_comme_salt";
          char* cryptedpasswd;
          cryptedpasswd = crypt (passwd, salt);
          printf ("%s\n", cryptedpasswd);
          return 0;
          }


          Il faut évidement remplacer le_mot_de_pass_a_crypter par la bonne valeur, et ce_que_je_veux_comme_salt par 8 caractères utilisés comme valeur de salt pour le mot de passe.
          J'ai essayé, ça me donne bien ce qui est stocké sur ma machine pour mon mot de passe, dans /etc/shadow.
          • [^] # Re: chpasswd

            Posté par  (site web personnel) . Évalué à 2.

            Parce que la valeur de salt n'influence pas le résultat ? Comment avoir la bonne valeur de salt qui te permet d'obtenir ce que tu as dans /etc/shadow ? Y a un truc que j'ai pas dû comprendre...
            • [^] # Re: chpasswd

              Posté par  . Évalué à 2.

              Bien sûr que si, la valeur de salt influence le résultat, mais le salt se retrouve dans /etc/shadow, c'est la séquence $1$ suivie de 8 caractères.
              Le programme que j'ai donné est simpliste, mais je l'ai fait pour comprendre comment ça marche.
              Rien n'empêche de l'étoffer un peu de façon à passer en paramètre le mot de passe en clair, ainsi que la valeur de salt (ou de la générer aléatoirement).
              J'ai trouvé toutes ces infos ici : http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/(...)
              En particulier le chapitre 2.3, ainsi que la page man de la fonction crypt qui explique les valeurs possibles pour le salt dans la partie gnu extension (à la fin).
              Ceci étant, il n'y a absolument aucun problème à ce que le salt soit le même pour tous les utilisateurs. Ça ne donnera pas plus facilement les mots de passe qui sont derrières.
              Voilà, j'espère que ces explications clarifient mon propos...
  • # Simple

    Posté par  (site web personnel) . Évalué à 1.

    T'embêtes pas , quand tu a créé l'utilisateur , tu fait
    # passwd LOGIN

    ( avec "LOGIN" le nom d'utilisateur créé) Et sa te demandera de taper le mot de passe.

    sinon si tu tiens a uttiliser useradd essaye avec un mot de passe crypté avec :

    /sbin/grub-md5-crypt

    ( j'ai pas testé et ya peu de chances que sa marche)
    • [^] # Re: Simple

      Posté par  (site web personnel) . Évalué à 2.

      passwd s'utilise en mode interractif, et là je fais un script kickstart pour automatiser une installation Fedora et créer mes utilisateurs, donc ça ne marche pas. grub-md5-crypt ne fonctione pas non plus, effectivement.
      • [^] # Re: Simple

        Posté par  (site web personnel) . Évalué à 1.

        Si c'est pour créer un paquet d'utilisateurs, le mieux est d'utiliser la commande 'newusers'.

        Il faut préparer un fichier identique à /etc/passwd, sauf que les mots de passe y figurent en clair (donc restreindre les droits de lecture).

        Pour créer les utilisateurs on lance alors 'newusers fichier' et tout est géré.
        • [^] # Re: Simple

          Posté par  (site web personnel) . Évalué à 2.

          Intéressant, je connaissais pas, merci. Bon par contre j'ai que 2 utilisateurs, et les mots de passe sont toujours en clair, alors c'est peut être un peu overkill ;-)

          En fait ce que je cherche, c'est juste un traducteur de mots de passe clair -> codé, comme ça je les rajoute en crypté dans mon fichier kickstart...
  • # adduser

    Posté par  . Évalué à 1.

    tu peux aussi utiliser
    adduser au lieu de useradd

    cette petite subtilité te demandera
    les login, nom, prenom, infos perso et mot de passe lors de la creation.
    • [^] # Re: adduser

      Posté par  (site web personnel) . Évalué à 2.

      adduser est un lien symbolique vers useradd et fait exactement la même chose chez moi.
      • [^] # Re: adduser

        Posté par  . Évalué à 1.

        pas de chance alors...

        chez moi (ubuntu)
        j'ai bien 2 binaires differents

        /usr/sbin/useradd le binaire le vrai package

        /usr/sbin/adduser
        qui est un script perl assez long d'ailleurs.
        et qui probablement s'appuie que useradd/groupadd/passwd
  • # mkpasswd

    Posté par  . Évalué à 1.

    NAME
    mkpasswd - Overfeatured front end to crypt(3)

    Mais il y aura toujours un moment ou tu aura le mot de passe en clair dans ton script.
    • [^] # Re: mkpasswd

      Posté par  (site web personnel) . Évalué à 2.

      Non plus, il génère des mots de passe aléatoires, mais moi j'ai un mot de passe bien précis à assigner. Sauf que j'ai besoin de sa version codée pour pouvoir le faire avec useradd.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.