Outils pour utilisateurs

Outils du site


tech:ldap_script_changement_mot_de_passe_en_masse

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tech:ldap_script_changement_mot_de_passe_en_masse [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:ldap_script_changement_mot_de_passe_en_masse [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon LDAP Mdp Script Auth}}
 +
 +# LDAP script changement mot de passe en masse
 +
 +Je viens de retrouver ce bout de code. 
 +
 +`ldap_reset_account.sh`
 +~~~bash
 +#! /bin/bash
 +
 +LDAP_BINDDN='cn=root,dc=acme,dc=corp'
 +LDAP_PASS=`
 +LDAP_SERVER='localhost'
 +LDAP_PORT='3890'
 +LDAP_SEARCHBASE='ou=people,dc=acme,dc=corp'
 +PASS_OLD_TXT='password'
 +FIC_TMP='/tmp/ldap-reset-password.ldif'
 +FIC_CSV='/tmp/ldap-newpassword.csv'
 +
 +echo > $FIC_TMP
 +echo "dn;mail;pass" > $FIC_CSV
 +IFS_BCK="$IFS"
 +IFS=$'\t\n'
 +
 +ALL_DN_ACCOUNT_OLDPASS="$(ldapsearch -p $LDAP_PORT -h $LDAP_SERVER -b $LDAP_SEARCHBASE "userPassword=$PASS_OLD_TXT" -D $LDAP_BINDDN -w $LDAP_PASS dn | grep ^dn:)"
 +
 +for DN in $ALL_DN_ACCOUNT_OLDPASS
 +do
 +PASS_NEW_TXT=$(cat /dev/urandom  | tr -dc A-Za-z0-9 | head -c10 | tr -d "\n")
 +# GENERATION FICHIER LDIF
 +        echo $DN >>$FIC_TMP
 +        echo "changetype: modify" >>$FIC_TMP
 +        echo "replace: userPassword" >>$FIC_TMP
 +        echo "userPassword: $PASS_NEW_TXT" >>$FIC_TMP
 +        echo >> $FIC_TMP
 +# GENERATION CSV
 +        DN=$(echo $DN | sed -e 's/^dn: //')
 +        MAIL=$(ldapsearch -p $LDAP_PORT -h $LDAP_SERVER -b "$DN" -D $LDAP_BINDDN -w $LDAP_PASS mail | grep ^mail: | sed -e 's/^mail: //')
 +        echo "$DN;$MAIL;$PASS_NEW_TXT"
 +        echo "$DN;$MAIL;$PASS_NEW_TXT" >> $FIC_CSV
 +done
 +IFS="$IFS_BCK"
 +
 +
 +echo "ldapmodify -p $LDAP_PORT -h $LDAP_SERVER -D $LDAP_BINDDN -w $LDAP_PASS -f $FIC_TMP"
 +~~~
 +
 +----
 +
 +FIXME Tuto LDAP
 +~~~bash
 +apt-get install slapd ldapscripts ldap-utils shelldap
 +~~~
 +
 +-----
 +Exemple d'un compte utilisateur
 +~~~
 +dn: uid=prenom.nom.ext,ou=users,dc=truc,dc=domainad,dc=net
 +objectClass: inetOrgPerson
 +objectClass: posixAccount
 +objectClass: shadowAccount
 +cn: prenom nom
 +gidNumber: 5400
 +givenName: prenom
 +homeDirectory: /home/prenom.nom.ext
 +initials: JB
 +loginShell: /bin/bash
 +mail: prenom.nom.ext@entreprise.com
 +shadowExpire: -1
 +shadowFlag: 0
 +shadowLastChange: 10877
 +shadowMin: 8
 +shadowWarning: 7
 +sn: nom
 +title: System Administrator
 +uid: prenom.nom.ext
 +uidNumber: 5400
 +userPassword: {SASL}prenom.nom.ext@truc.domainad.net
 +~~~
 +
 +
 +Tester la config 
 +~~~bash
 +slaptest
 +~~~
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki