Création d'un utilisateur par un script avec un mot de passe alphanumérique de 16 caractères

Bonjour je souhaiterais avoir de l’aide

j’essaye de creer un utilisateur via un script qui me permettrait de lui ajouter un mot de passe de 16 caractere
voila mon script :

#!/bin/bash
mdp=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w16 | head -n1)

sudo useradd -m -d  /home/direct  cyrille --password=$mdp

Par contre des que je fais su cyrille est que je rentre le mot de passe j’ai un echec d’authentification.

Il manque le nom de l’utilisateur que vous voulez créer.

man useradd
...
SYNOPSIS
       useradd [options] LOGIN

Ce message vous est envoyé dans le cadre d’une campagne de pour promouvoir l’utilisation de la ligne de commande et la lecture des pges de manuel.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

Tu exagères sur l’ironie: ce n’est pas un manque de RTFM, c’est un simple oubli. :smiley:

l 'utilsateur créer est cyrille et je le trouve bien dans /etc/passwd

Alors c’est peut être un probléme de man, finalement.
Ca donne quoi, en mettant l’argument cyrille aprés --password=$mdp ?

malheureusement cela ne fonctionne pas

Bonjour

Le mot de passe à donner à la commande useradd
doit être un mot de passe chiffré (comme par exemple, ceux qui sont dans le fichier /etc/shadow)

Extrait de la page man de la commande useradd

…
       -p, --password MOT_DE_PASSE
           Le mot de passe chiffré, comme renvoyé par crypt(3). Le
           comportement par défaut est de désactiver le mot de passe.
…

crypt est une des fonctions de la libC (d’où le (3) qui est indiqué juste après)

Pour créer un mot de passe chiffré,
on peut utiliser la commande mkpasswd
qui est dans le paquetage whois

michel@debkde:~$ mdpClair=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w16 | head -n1) # Mot de passe de 16 caractères
michel@debkde:~$ echo $mdpClair
pm6mTJduiy8b81tX

michel@debkde:~$ salt=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w8 | head -n1) # salt de 8 caractères
michel@debkde:~$ mdpChiffre=$(mkpasswd --method=sha-512 --salt=$salt --stdin <<< $mdpClair)

michel@debkde:~$ echo $mdpChiffre
$6$lhVs53BF$pN6xkMz7r8pho1XmggRyoqbtBWimeAuFLVHzhm/C1stMR6C.S7UCA5VS.Bpo0I1dTA4l7k158S9kX7CTsGkOK.

NOTE :

Dans ce mot de passe chiffré, on trouvera, juste après le premier caractère $
un ID qui correspond à la méthode de chiffrement qui a été utilisé.
Le chiffre 6 indique ici qu’il s’agit du sha-512

et entre les deux caractères $ suivants
on trouve le salt qui a été utilisé pour chiffrer le mot de passe.

2 J'aime