script shell bash

script shell bash - Shell/Batch - Programmation

Marsh Posté le 22-06-2010 à 22:03:47    

Bonjour à tous!
 
  Voilà je suis en train de déployer une serveur ldap(openldap et samba en PDC) qui fonctionne à merveille. Cependant, j'aimerai automatisé l'ajout d'utilisateur. En fait je veux faire un script que aille chercher les infos (nom, prénom, groupe et login) dans un fichier texte et grâce à une boucle qui remplisse la base ldap. Je sais que l'on peut exécuter une commande (avec des variables) à l'intérieur d'un script mais je suis perdu pour le reste
 
  Voici mon fichier texte et les variable associées:  
 
$prenom:*$nom:$login:$groupe
arnaud:damour:adamour:789
benoit:vallet:bvallet:542
alexandre:rendour:arendour:456
toto:tutu:ttutu:254
 
  Voici la commande qui sera à exécuter dans le script une fois les infos récupérées dans les variables:  
 
Exemple:smbldap-useradd -a -m -P -A 1 -g 788 -N Gaetan -S Rabier g.rabier
 
commande avec variable: smbldap-useradd -a -m -P -A 1 -g $groupe -N $prenom -S $nom $login
 
 Quelqu'un pourrait-il m'aider?  
 
Merci beaucoup  
 
Arnaud

Reply

Marsh Posté le 22-06-2010 à 22:03:47   

Reply

Marsh Posté le 23-06-2010 à 10:42:56    

Essayer :

   cat list_user.txt | while read theline
   do
      #   echo $theline
      prenom=`echo $theline |cut -d":" -f1`
      #   echo $prenom
      nom=`echo $theline |cut -d":" -f2`
      #   echo $nom
      login=`echo $theline |cut -d":" -f3`
      #   echo $login
      groupe=`echo $theline |cut -d":" -f4`
      #   echo $groupe
 
      smbldap-useradd -a -m -P -A 1 -g $groupe -N $prenom -S $nom $login
   done


Reply

Marsh Posté le 23-06-2010 à 10:53:57    

ou

 
Code :
  1. while IFS=: read prenom nom login groupe
  2. do
  3.   smbldap-useradd -a -m -P -A 1 -g $groupe -N $prenom -S $nom $login
  4. done < list_user.txt



Message édité par art_dupond le 23-06-2010 à 17:04:19

---------------
oui oui
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed