#1 Le 08/05/2012, à 16:35
- Jerzey
(Gestion école) - Automatisation création d'user + mdp
Salut à tous !
Suite à une ancienne demande sur ce fofo, j'ai suivi les conseils et j'ai testé Zentyal. Ce dernier sera implanté en période de congé scolaire.
Pour l'instant tout me semble très sympa avec cet os. Néanmoins dans l'école je dois :
- Créer un groupe par classe + un groupe prof
- Créer des utilisateurs élèves/profs
- Attacher chaque groupe à son dossier classe
J'ai vu l'admin tester un script qu'il a mis au point sous Windows Serveur. L'admin a donc crée à la main les groupes qui ne sont pas nombreux.
Puis automatisation via script qui fait ceci :
- Création d'users en proposant toujours 25 élèves par classe et il nomme chaque user de cette manière en fonction des classes :
NuméroAnnée+TroisPremièreLettreDeSection-NuméroAléatoire2Chiffres (Cela donne des users comme : 1tec-05 6sec-85 7com-43)
- Un numéro correspondant à l'année attaché à trois premières lettres pour l'option de l'élève - un petit tiret - Deux numéros aléatoires de 00 à 99.
- Chaque utilisateur est rattaché à son groupe (A mon avis le script doit lire les trois premières lettres et l'année avec des conditions pour l'envoyer dans son groupe) :
1sec sera rattaché au groupe premiere_secretariat
7com sera rattaché au groupe septieme_compta
- Pour chaque user un mot de passe est généré de manière aléatoire avec 3 lettres et 3 chiffres.
- Pour finir une impression sur papier lui donne la base de donnée.
Je ne sais pas s'il utilise un soft de base de donnée, je n'ai pas accès au script. J'aimerais pouvoir faire la même chose sous Ubuntu Zentyal afin de gagner du temps chaque année ... Si je dois encoder à la main plus de 500 users je ne vais pas tenir longtemps je pense
Où alors peut être auriez une technique, autre que le script, afin d'y arriver ?
(Je débute dans l'admin réseau donc pas mal de terme me mènent la vie dure - Je connais les commandes afin de créer un à un les users, leur donner un pass etc etc Mais automatiser le tout, et rendre les mdp et user aléatoire, ce n'est pas évident aux premiers abords )
Hors ligne
#2 Le 09/05/2012, à 13:50
- papy44
Re : (Gestion école) - Automatisation création d'user + mdp
Bonjour,
Voilà ce que j'ai fait pour 3 salles de 15 postes
Script de création de compte
#!/bin/bash
# creation nouveau compte
E_NONROOT=67 # Code de sortie si non root.
E_NONARG=68 # Code se sortie si pas les arguments
UID_ROOT=0 # Seuls les utilisateurs avec un $UID valant 0 ont les droits de root.
# À exécuter en tant que root, bien sûr.
if [ "$UID" -ne "$UID_ROOT" ]
then
echo "Vous devez être root pour exécuter ce script."
exit $E_NONROOT
fi
# Teste si 4 arguments sont présents en ligne de commande.
if [ -n "$4" ]
then
login=$1
mdp=$2
identite=$3
uid=$4
else
echo
echo "Erreur!"
echo "usage: `basename $0` login motDePasse nom,prenom uid"
echo
exit $E_NONARG
fi
# groupe principal users:100, autres groupes audio,plugdev,
# (-m) creation du repertoire perso et (-N) pas du groupe, (-d)repertoire perso (-s)shell (-u) uid unique (1000:eric, 1001:etudiant, 1002...) (-c) commentaires
home="/home"
useradd $login -g 100 -G 46,29 -m -N -c $identite -s /bin/bash -d /home/$login -u $uid
#Changement du mot de passe
echo "$login:$mdp" | chpasswd
#Le repertoire appartient au user
chown -R $login:users $home/$login
#lisible uniquement par le USER
chmod 700 $home/$login
echo "$login -> Ajout"
exit 0
et le script pour l'automatisation (tu noteras que je ne t'ai pas fourni le script supprimer ...
#!/bin/bash
# users.sh
# Version CLIENT (pas de création des répertoires)
# ajoute,supprime,bloque,debloque une liste d'utilisateurs de ce poste
# utilise les scripts newuser et supuser
E_NONROOT=67 # Code de sortie si non root.
E_NONARG=68 # Code se sortie si pas les arguments
UID_ROOT=0 # Seuls les utilisateurs avec un $UID valant 0 ont les droits de root.
M_USAGE="----------\nErreur!\nusage: `basename $0` action fichier\n\n-1- action: ajoute/efface\n-2- format de fichier : chaque ligne -> login motDePasse identite uid(unique)\n----------\n\n"
# À exécuter en tant que root, bien sûr.
if [ "$UID" -ne "$UID_ROOT" ]
then
echo "Vous devez être root pour exécuter ce script."
exit $E_NONROOT
fi
# Teste si 2 arguments sont présents en ligne de commande.
if [ -n "$2" ]
then
action=$1
fichier=$2
else
echo -e $M_USAGE
exit $E_NONARG
fi
#le fichier existe ?
if [ ! -e "$fichier" ]
then
echo "le fichier $fichier n'existe pas."
exit $E_NONARG
fi
#Ajouter des utilisateurs
if [ "$action" = "ajout" ]
then
cat $fichier | # Fournit des informations à partir d'un fichier.
while read ligne # Tant qu'il y a une nouvelle ligne à lire...
do
./newuser-client.sh $ligne
done
#Supprimer des utilisateurs
else if [ "$action" = "supprime" ]
then
cat $fichier | # Fournit des informations à partir d'un fichier.
while read ligne # Tant qu'il y a une nouvelle ligne à lire...
do
./supuser-client.sh $ligne
done
#erreur dans la ligne de commande
else
echo -e $M_USAGE
exit $E_NONARG
fi
fi
exit 0
Après tu récupère tes identifiants/mots de passe identité de n'importe quelle source sous format texte ...
Cdt
Eric
Intel® Xeon(R) CPU X3430 @ 2.40GHz × 4 * 12 Go
Quadro FX 580/PCIe/SSE2 * 2 écrans 22''
SSD 64Gb G.SKILL FALCON * DD 500Gb WDC
Hors ligne
#3 Le 09/05/2012, à 14:23
- Jerzey
Re : (Gestion école) - Automatisation création d'user + mdp
Je te remercie pour ta rapidité. Je me penche sur un projet en ce moment, je regarderais à ce script d'ici quelques jours.
Merci en tout cas, je ferais un retour pour dire quoi, c'est super
Hors ligne