[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/usr/share/se3/sbin/ -> se3_group_members.sh (source)

   1  #!/bin/bash
   2  #
   3  # SambaEdu
   4  #
   5  # $Id: se3_group_members.sh 6239 2011-03-16 07:39:37Z ericg $
   6  #
   7  
   8  WWWPATH="/var/www"
   9  
  10  # recup parametres ldap
  11  . /etc/se3/config_l.cache.sh
  12  # recup parametres caches : 
  13  . /etc/se3/config_m.cache.sh
  14  . /etc/se3/config_d.cache.sh
  15  
  16  if [ "$1" = "-h" -o "$1" = "--help" ]; then
  17      echo "Script destine a retourner la liste des membres d'un groupe (uid)."
  18      echo ""
  19      echo "USAGE: Passer en parametre le nom du groupe."
  20      echo "       Sinon, sans parametre, la liste des groupes est proposee."
  21      echo ""
  22      echo "       A IMPLEMENTER:"
  23      echo "       Si un groupe est passe en parametre, on peut donner ensuite,"
  24      echo "       la liste des attributs a recuperer."
  25      exit
  26  fi
  27  
  28  interactif="y"
  29  
  30  groupe=""
  31  if [ -n "$1" ]; then
  32      t=$(ldapsearch -xLLL cn=$1 -b $groupsRdn},$ldap_base_dn})
  33      if [ -z "$t" ]; then
  34          echo "Groupe $1 invalide"
  35      else
  36          groupe=$1
  37          interactif="n"
  38      fi
  39  fi
  40  
  41  while [ -z "$groupe" ]
  42  do
  43      # Choix du groupe
  44      echo ""
  45      echo "Voici la liste des groupes existants: "
  46      ldapsearch -xLLL -b $groupsRdn},$ldap_base_dn} cn|grep "^cn: "| sed -e "s|^cn:||" | sort | tr -d '\n' | more
  47  
  48      echo ""
  49      echo -e "Choix du groupe: \c"
  50      read -e groupe
  51  
  52      if [ -n "$groupe" ]; then
  53          t=$(ldapsearch -xLLL cn=$groupe -b $groupsRdn},$ldap_base_dn})
  54          if [ -z "$t" ]; then
  55              echo "Groupe $groupe invalide"
  56              groupe=""
  57          fi
  58      fi
  59  done
  60  
  61  t=$(ldapsearch -xLLL -b $groupsRdn},$ldap_base_dn} "(&(cn=$groupe)(objectClass=posixGroup))")
  62  if [ $n "$t" ]; then
  63      # C'est un posixGroup
  64      if [ "$interactif" = "y" ]; then
  65          echo ""
  66          echo "Liste des membres du groupe $groupe:"
  67          ldapsearch -xLLL cn=$groupe -b $groupsRdn},$ldap_base_dn} memberUid | grep "^memberUid: " | sed -e "s|^memberUid: ||" | more
  68      else
  69          ldapsearch -xLLL cn=$groupe -b $groupsRdn},$ldap_base_dn} memberUid | grep "^memberUid: " | sed -e "s|^memberUid: ||"
  70      fi
  71  else
  72      # Traiter aussi le cas groupOfNames
  73      echo "Cas groupOfNames a implementer."
  74      exit
  75  fi


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1