Retourner aux forums || Retourner au forum Linux.general

Linux.general : Comment attribuer un mot de passe avec useradd ?

Posté par liberforce (Jabber id, page perso, ) le 24 avril 2007
0
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 ?

> Lire le message (15 commentaires, moyenne: 1,7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

chpasswd

Posté par Cereal Killer (Jabber id, ) le 24/04/2007 à 16:25. (lien). É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 liberforce (Jabber id, page perso, ) le 25/04/2007 à 09:16. (lien). É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 Cereal Killer (Jabber id, ) le 25/04/2007 à 13:59. (lien). Évalué à 1.

      A priori, c faisable facilement avec perl.

      => http://www.redhat.com/archives/kickstart-list/2003-January/m(...)

      • [^]Re: chpasswd

        Posté par Gyro Gearllose () le 25/04/2007 à 14:27. (lien). É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.

        --
        All articles which are excluded shall be deemed included
        Tous les articles exclus sont considérés inclus
        --Brian de Palma in Phantom of the Paradize
        • [^]Re: chpasswd

          Posté par liberforce (Jabber id, page perso, ) le 25/04/2007 à 20:32. (lien). É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 Gyro Gearllose () le 26/04/2007 à 07:29. (lien). É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...

            --
            All articles which are excluded shall be deemed included
            Tous les articles exclus sont considérés inclus
            --Brian de Palma in Phantom of the Paradize

Simple

Posté par Johan Charpentier (Jabber id, ) le 24/04/2007 à 23:00. (lien). É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)

--
"We may not live to see yesterday". (Hoagie)
  • [^]Re: Simple

    Posté par liberforce (Jabber id, page perso, ) le 25/04/2007 à 09:20. (lien). É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 Ellendhel () le 25/04/2007 à 11:55. (lien). É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 liberforce (Jabber id, page perso, ) le 25/04/2007 à 13:08. (lien). É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 NeoX () le 25/04/2007 à 06:10. (lien). É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.

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
  • [^]Re: adduser

    Posté par liberforce (Jabber id, page perso, ) le 25/04/2007 à 09:25. (lien). Évalué à 2.

    adduser est un lien symbolique vers useradd et fait exactement la même chose chez moi.

    • [^]Re: adduser

      Posté par NeoX () le 25/04/2007 à 19:22. (lien). É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

      --
      Apprendre par les autres, c'est bien.
      Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux

mkpasswd

Posté par pi6Lohe () le 25/04/2007 à 10:19. (lien). É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 liberforce (Jabber id, page perso, ) le 25/04/2007 à 11:20. (lien). É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.

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general