[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 3 # $Id: se3_vider_groupe.sh 7745 2013-03-31 23:53:39Z keyser $ 4 # Script destiné à virer tous les membres d'un groupe 5 # Auteur: Stéphane Boireau 6 # Dernière modification: 26/02/2007 7 8 if [ "$1" == "--help" -o "$1" == "-h" ] 9 then 10 echo "Script de suppression des membres d'un groupe" 11 echo "Passer (éventuellement) en paramètre le nom du groupe." 12 echo "--help cette aide" 13 14 exit 15 fi 16 17 #Couleurs 18 COLTITRE="\033[1;35m" # Rose 19 COLPARTIE="\033[1;34m" # Bleu 20 21 COLTXT="\033[0;37m" # Gris 22 COLCHOIX="\033[1;33m" # Jaune 23 COLDEFAUT="\033[0;33m" # Brun-jaune 24 COLSAISIE="\033[1;32m" # Vert 25 26 COLCMD="\033[1;37m" # Blanc 27 28 COLERREUR="\033[1;31m" # Rouge 29 COLINFO="\033[0;36m" # Cyan 30 31 echo -e "$COLTITRE" 32 echo "***************************" 33 echo "* SCRIPT DE SUPPRESSION *" 34 echo "* DES MEMBRES D'UN GROUPE *" 35 echo "***************************" 36 37 if [ ! -z "$1" ]; then 38 groupe=$1 39 else 40 echo -e "$COLTXT" 41 echo "Veuillez saisir le nom du groupe dont vous souhaitez supprimer tous les membres." 42 echo "Le groupe lui-même ne sera pas supprimé." 43 echo -e "Groupe: $COLSAISIE\c" 44 read groupe 45 fi 46 47 echo -e "$COLTXT" 48 echo -e "Vous avez choisi le groupe $COLINFO}$groupe" 49 50 BASEDN=$(cat /etc/ldap/ldap.conf | grep '^BASE' | tr "\n" " " | sed -e "s/ \{2,\}/ /g" | cut -d" " -f2) 51 52 test=$(ldapsearch -xLLL -b ou=Groups,$BASEDN cn=$groupe) 53 if [ -z "$test" ]; then 54 echo -e "$COLERREUR" 55 echo "ERREUR: Le groupe choisi n'existe pas." 56 echo -e "$COLTXT" 57 exit 58 fi 59 60 ROOTDN=$(cat /etc/ldap/slapd.conf | grep '^rootdn' | tr '\n' ' ' | cut -d'"' -f2) 61 PASSDN=$(cat /etc/ldap.secret) 62 63 ladate=$(date +"%Y.%m.%d-%H.%M.%S"); 64 tmp=/root/tmp/nettoyage_groupe_$groupe}_$ladate} 65 mkdir -p $tmp 66 67 # Sauvegarde: 68 echo -e "$COLCMD" 69 #ldapsearch -xLLL -b ou=Groups,$BASEDN cn=$groupe > $tmp/svg_$groupe.ldif 70 ldapsearch -xLLL -D $ROOTDN -w $PASSDN -b ou=Groups,$BASEDN cn=$groupe > $tmp/svg_$groupe.ldif 71 72 type_grp=$(ldapsearch -xLLL -b ou=Groups,$BASEDN cn=$groupe objectClass | grep "^objectClass: " | sed -e "s/^objectClass: //" | egrep "(groupOfNames|posixGroup)") 73 if [ "$type_grp" = "posixGroup" ]; then 74 echo "dn: cn=$groupe,ou=Groups,$BASEDN 75 changetype: modify 76 delete: memberUid" > $tmp/vider_$groupe.ldif 77 else 78 echo "dn: cn=$groupe,ou=Groups,$BASEDN 79 changetype: modify 80 delete: member" > $tmp/vider_$groupe.ldif 81 fi 82 83 ldapmodify -x -D $ROOTDN -w $PASSDN -f $tmp/vider_$groupe.ldif 84 85 # Nettoyage 86 #rm -fr $tmp 87 88 echo -e "$COLTITRE" 89 echo "Terminé" 90 echo -e "$COLTXT"
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |