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 :
Quel est le problème ?
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
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.
Partager