Autres languages de programmation (Perl, Python, Awk, Expect, etc)

Temps de lecture approximatif : 3 minutes

Scripts créés en Python, Perl, Awk, Expect

Sommaire

 Import-export ldap (scripts Perl et Awk)

Fonctionnalité:

  • A partir d’un backup (au format LDIF) d’une base de donnée LDAP, exporter les principales données sous forme d’un fichier CSV.
  • A partir d’un fichier CSV, exporter les données principales au format LDIF.

Le script : 

ldap-scripts

Usage: 

++++++++++++++++++
+++++ README +++++
++++++++++++++++++

Prérequis
=========
    1. Installer les paquets "awk"; "perl".

    2. Adapter dans le script "csv2ldif" les paramètres permettant la connexion à votre base LDAP:

<code>
...
...
# Set variables refer to your domain
# <------------------------------------------------------------------------------->
#
$sambaPwdLastSet = '1356087842';       #--> Set sambaPwdLastSet (you can change the password 
                                       # for a ldap user's and recover the value !)
$suffix = 'dc=monentreprise,dc=fr';
$o = 'MONENTREPRISE';
$dc = 'monentreprise';
$ldap_admin = 'admin';
$ldap_admin_pwd = 'e0NSWVBUfTFIWG5IazUzYWRtelU=';       #--> You must insert ldap admin's password (encrypted format used by your LDAP)
$ou_user = 'People';                                    # Example: password in MD5-CRYPT 
$ou_group = 'Groups';
$ou_computers = 'Computers';
#
# <--------------------------------------------------------------------------------> 
...
...
</code>


Pour générer un csv depuis un ldif
==================================

/bin/awk -F ': ' -f ./ldap-scripts/ldif2csv.awk < [your last ldif backup].ldif > export-result_from_ldif.csv


Pour générer un ldif depuis le csv
==================================

ATTENTION, Lire l'aide du script avant !
    
    ./ldaps-cripts/csv2ldif.pl --help or ./ldap-scripts/csv2ldif.pl -h

Exemple de commande: Générer un nouveau fichier LDIF pour une nouvelle installation de LDAP:

cat export-result_from_ldif.csv | sed -e '/^[ ]*#/d' -e '/^$/d' | tr '\\' '#' | /usr/bin/perl ./ldap-scripts/csv2ldif.pl --all > import-result_from_csv.ldif

Script d’ajout d’utilisateurs dans LDAP, Samba et Cyrus (Scripts Python et Perl)

Fonctionnalité:

En fonction d’un fichier de type CSV préalablement rempli:

  • Connexion SSH au serveur LDAP et ajout des utilisateurs dans LDAP. Création de leur mot de passe Unix et Samba et ajout des utilisateurs dans leur(s) groupe(s) Samba respectif(s).
  • Connexion SSH au serveur Samba et pour chaque utilisateur création de son dossier « home »  et de leur script netlogon à l’emplacement souhaité (paramètre à définir directement dans le script).
  • Connexion SSH au serveur Cyrus et création du compte mail des utilisateurs dans Cyrus.

Le script:

add_ldap_samba_cyrus_users-scripts

Usage:

++++++++++++++++++
+++++ README +++++
++++++++++++++++++

Prérequis
=========

    1. Installer le script "add-imap-users" dans "/usr/local/bin" du serveur de mail
    
    2. Modifier celui-ci pour adapter les variables:

        <code>
        ...
        ...
        $server="localhost";
        $admin="cyrus";
        $pw=`cat /etc/cyrus.secret`;
        ...
        ...
        </code>
        
    3. Adapter les lignes ci-dessous DIRECTEMENT dans le script "add_ldap_samba_cyrus_users"

        <code>
        ...
        ...
        # Default variables
        fusername    = "/root/username.csv"
        filelog        = "/var/log/user_register.log"
        debug        = False

        #
        #
        ldap_host   = "<mon serveur ldap>"
        file_host   = "<mon serveur samba>"
        mail_host   = "<mon serveur mail>"
        #
        # TO ADAPT to your needs
        #
        bind_dn     = "<le rootdn de mon serveur ldap>"
        bind_passwd = "<le mot de passe de mon serveur ldap>"
        base_dn     = "<le suffix de mon ldap serveur>"
        gid_number  = "2000"
        loginshell  = "/bin/false"
        sambasid    = "<le samba SID de mon serveur>"
        ...
        ...
        </code>

    4. Modifier le fichier "username.csv" (comme décrit à l'intérieur de celui-ci) afin
    d'ajouter les utilisateurs et les autres paramètres.

    5. [Optionnel]: Afin d'éviter de taper le mot de passe d'accès SSH aux différents
     serveurs (Cyrus, Samba) vous pouvez paramétrer l'échange de clés SSH avec ces serveurs (voir 
    l'utilisation de la commande "ssh-copy-id" (vous pouvez effectuer une recherche sur 
    www.opours.net)).


USAGE
======
Exécuter le script. Celui-ci utilisera le fichier "username.csv" pour créer les utilisateurs avec
les informations qui leur correspondent.


“La connaissance a plus de valeur et s’accroît rapidement lorsqu’elle est partagée et accessible librement…”

Ce document est publié sous licence Creative Commons
Attribution, Partage à l’identique, Contexte non commercial 3.0 : http://creativecommons.org/licenses/by-nc/3.0/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.