From: Nicolas Boisselier Date: Sat, 2 Dec 2017 00:23:28 +0000 (+0000) Subject: etc/profile.d/ldap.sh X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=622016a9884f4aacacca8802fee40848b7984c6f;p=nb.git etc/profile.d/ldap.sh --- diff --git a/etc/profile.d/ldap.sh b/etc/profile.d/ldap.sh index 9e630c58..a823b589 100644 --- a/etc/profile.d/ldap.sh +++ b/etc/profile.d/ldap.sh @@ -92,15 +92,19 @@ ldap_gup() { esac local args - slapcat_csv '(&(objectClass=posixGroup)(memberUid=*))' cn memberUid | while read -r -a line; do + slapcat_csv '(&(objectClass=posixGroup)(memberUid=*))' cn memberUid | while read -r -a rec; do - group=${line[0]} - line=("${line[@]:1}") # shift + group=${rec[0]} + rec=("${rec[@]:1}") # shift - for uid in ${line[*]}; do + for uid in ${rec[@]}; do #echo slapcat_csv "(&(uid=$uid)(userPassword=*))" userPassword - pass=$(slapcat_csv "(&(uid=$uid)(userPassword=*))" userPassword) - echo $group $uid $pass + rec=( $(slapcat_csv "(&(uid=$uid)(userPassword=*))" userPassword uid mail) ) + pass=${rec[0]} + rec=("${rec[@]:1}") # shift + for field in ${rec[@]}; do + echo $group $field $pass + done done done