Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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 smile)

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 smile

Hors ligne