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