shell - créer des comptes à partir d'un fichier
Bien le bonjour,
Donc voilà je suis entrai de mettre ne place un script pour créer des utilisateur samba à partir d'un fichier. Mon fichier se compose comme ceci :
J'ai récupérer plusieur script sur le net que j'ai fusionné et modifié pour obtenir un fonction comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
creer_user_a()
{
echo "Donner le chemin jusqu'au fichier : "
read dir
#on vérifie si le fichier entré en paramêtre existe
if [ -e $dir ]
then
while read ligne #pour chaque ligne
do
echo $ligne | cut -d: -f1
echo $ligne | cut -d: -f2
#pre reçoit la 1ere partie de la ligne séparée par :
login=$(echo $ligne | cut -d: -f1)
pass=$(echo $ligne | cut -d: -f2)
#on écrit le login et mot de passe dans comptes.txt
echo $login":"$pass >> comptes.txt
#création du compte unix
useradd -d /home/$login -m -s /bin/false $login
#création compte samba
echo -e "$pass\n$pass" | smbpasswd -a -s $login
done < "$dir"
else
echo "fichier "$dir" non trouvé"
fi
} |
le problème qui se pose est je ne sais pour que raison useradd n'est pas accepter (en faîtes samba considère que l'utilisateur n'existe pas alors que celui-ci est bien présent) je suis obligé de faire avec adduser et là il faut un mot de passe est nécessaire donc j'ai tenté différent truc mais je me retrouve avec un boucle infinie à chaque fois:
Code:
1 2 3 4 5 6 7
|
echo -e "$pass\n$pass" | adduser -$user
echo ( $pass ; $pass ) | adduser -$user
adduser $login
echo $pass |
Donc en faîtes j'aimerais bien faire avec useradd mais si cela n'est pas possible comment faire avec adduser.
Merci d'avance.
PS: je suis sur une Debian 4.0