]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/ldap.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Thu, 7 Dec 2017 18:25:06 +0000 (18:25 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Thu, 7 Dec 2017 18:25:06 +0000 (18:25 +0000)
etc/profile.d/ldap.sh

index 7035ae9dedb209666de30141c46d3a056bb8be2e..318e1e296d4d24be6c8e44d5d1290595883813fd 100644 (file)
@@ -85,6 +85,24 @@ ldapsearch_csv() {
   ldapsearch -LLLx -o ldif-wrap=no $aldap | awk -f $NB_ROOT/lib/awk/ldap2csv.awk -- $aawk $aldap
 }
 
+ldap_gup_dir() {
+  local dir="$1" && shift
+  cd "$dir" || return
+  local perm=$(ls -dlaF --color=auto . 2>/dev/null | awk '{print $3"."$4}')
+  local tmp=`mktemp -d`
+  eval '
+  ldap_gup $@ | while read -r -a rec; do
+    file=${rec[0]}
+    rec=("${rec[@]:1}") # shift
+    echo "${rec[@]}" >> "$tmp/$file"
+  done
+  '
+  [ -n "$perm" ] && chown "$perm" "$tmp"/*
+  chmod 640 "$tmp"/*
+  mv "$tmp"/* ./
+  rm -rf "$tmp"
+}
+
 ldap_gup() {
   local usage="Usage: ldap_gup [filter attrs ...]"
   case "$*" in