# Ici se trouvent réunies les fonctions et la configuration utiles au script # de gestion des mailing-lists # Config LDAP_HOST="ldap.example.net" LDAP_ROOT="dc=example,dc=net" CONFIG_IDENTIFIANTS_SMBLDAP="/etc/smbldap-tools/smbldap_bind.conf" . $CONFIG_IDENTIFIANTS_SMBLDAP LDAP_PASSWD="$masterPw" LDAP_BIND_DN="$masterDN" # Liste, sur stdout, les mailing-lists dont fait déjà parti l'adresse # email fournie en argument. # args: email # # note : effectué en connexion anonyme. A priori, les droits sont suffisants. afficher_abonnements_en_cours() { ldapsearch -x -h "$LDAP_HOST" -b "ou=mailing-lists,$LDAP_ROOT" -LLL "(rfc822MailMember=$1)" cn | sed -n 's/^cn: \(.*\)/\1/p' | sort } # Affiche la liste des mailing-lists # # note : effectué en connexion anonyme. A priori, les droits sont suffisants. afficher_listing_mailinglists() { ldapsearch -x -h "$LDAP_HOST" -b "ou=mailing-lists,$LDAP_ROOT" -LLL cn | sed -n 's/^cn: \(.*\)/\1/p' | sort } # Affiche la liste des abonnés d'une mailing-list # args: mailing-list # # note : effectué en connexion anonyme. A priori, les droits sont suffisants. afficher_abonnes_mailinglist() { ldapsearch -x -h "$LDAP_HOST" -b "cn=$1,ou=mailing-lists,$LDAP_ROOT" -LLL rfc822MailMember | sed -n 's/^rfc822MailMember: //p' } # Supprime l'email d'une mailing-list # args: email, mailing-list supprimer_abonnement() { # Ecriture du mot de passe LDAP_PASSWDFILE=$( mktemp ) printf "%s" "$LDAP_PASSWD" >$LDAP_PASSWDFILE # Requete cat <$LDAP_PASSWDFILE # Requête cat <$LDAP_PASSWDFILE # Requete cat <$LDAP_PASSWDFILE # Requete cat <