Bonjour,

Je suis actuellement en train d'installer un serveur destiné à accueillir les travaux de plusieurs personnes. Pour faciliter les choses - et parce que tous les futurs utilisateurs ne sont pas forcement experts es Unix -, j'aimerais créer un script permettant de créer à la fois un nouveau compte utilisateur, un virtualhost sur le serveur Apache, un utilisateur MySQL disposant d'une base personnelle et la même chose sous Postgres et LDAP - oui, c'est gros, mais c'est ca ou passer 3 heures en explication à chaque nouvel utilisateur et j'ai pas envie -.
Seulement voilà, depuis ce midi, je bloque dés la création de l'utilisateur :/

Voici le code de mon script à l'heure actuelle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
#!/bin/bash
#
# Script shell pour l'inscription d'un nouvel utilisateur serveur
# Créé le 20/11/2006 par Folken Laëneck 
 
# Récupération des informations de l'utilisateur à créer
echo "Nom complet de l'utilisateur :"
read user_fullname
echo "Nom de login :"
read user_logname
echo "Mot de passe :"
read -s user_password
echo "Confirmer le mot de passe :"
read -s user_password_confirm
 
if [ $user_password != $user_password_confirm ]
then
#	Erreur : mot de passe non confirmé
	exit 1
fi
 
echo "Adresse e-mail :"
read user_email
 
# Création de l'utilisateur
useradd --gid "www-data" --create-home --comment "$user_fullname" --password  $(mkpasswd $user_password) "$user_logname"
 
exit 0
Quel est le problème ?
Mon compte utilisateur est bien créé, il est correctement assigné au groupe www-data, etc ... bref, tout semble bien se passer. Mais les apparences sont trompeuses ... Lorsque j'essaie de me connecter avec un compte nouvellement créé - ou simplement de faire un "su nouvel_utilisateur" -, l'authentification échoue inévitablement.

J'ai essayé plusieurs solutions, comme de préciser un mot de passe vide dans la commande useradd pour ensuite exécuter un "echo "$user_password" | passwd --stdin $user_logname" mais rien n'y fait.

Je pourrais utiliser adduser mais en dehors des quelques questions posées en début de script, j'aimerais que l'utilisateur n'ai strictement rien à saisir.

Quelqu'un aurait-il une solution à me proposer ? - ou simplement une erreur monumentale à pointer du doigt ? -

Merci d'avance.

N.B. : Pour précision, le serveur fonctionne sous Debian et je teste actuellement mon script sous Ubuntu Dapper Drake - donc théoriquement la même base - une autre personne travaillant simultannément sur la configuration du serveur.