#!/bin/bash {{ ansible_header | comment }} # Certains user dans owncloud ont été créés sous la forme user_1234 ce qui faisait planter le autofs # ceci est un fix USER=$(echo $1 | sed "s/_[1-9]*$//") UHOME=/home_adh/$USER USERID=$(ldapsearch -LLL -b "{{ ldap.base }}" -H {{ ldap.uri }} -D "{{ ldap.base_dn }}" -w {{ ldap.password }} "uid=$USER" uidNumber | grep uidNumber | awk '{print $2}') UGROUP=$(ldapsearch -LLL -b "{{ ldap.base }}" -H {{ ldap.uri }} -D "{{ ldap.base_dn }}" -w {{ ldap.password }} "uid=$USER" gidNumber | grep gidNumber | awk '{print $2}') # On quitte si l'utilisateur $USER n'existe pas if [ -z "$USERID" ]; then logger -p local0.error -t autofs "user $USER n'existe pas" exit 1 fi # Rafraîchi les stats du dossier /bin/ls ${UHOME}/OwnCloud/ &>/dev/null || /bin/ls ${UHOME} &>/dev/null # Création du dossier OwnCloud s'il n'existe pas ou n'appartient pas a l'utilisateur if [ ! -d "${UHOME}/OwnCloud" ] || ! ( /usr/bin/find ${UHOME}/OwnCloud/ -maxdepth 0 -user $USERID -group ${UGROUP} | /bin/grep -q ${UHOME}/OwnCloud/ ); then if [ ! -d "${UHOME}/OwnCloud" ]; then mkdir ${UHOME}/OwnCloud fi chmod 700 ${UHOME}/OwnCloud && chown $USERID:${UGROUP} ${UHOME}/OwnCloud if [ ! -d "${UHOME}/OwnCloud" ] || ! ( /usr/bin/find ${UHOME}/OwnCloud/ -maxdepth 0 -user $USERID -group ${UGROUP} | /bin/grep -q ${UHOME}/OwnCloud/ ); then logger -p local0.error -t autofs "impossible de créer le dossier ${UHOME}/OwnCloud" exit 1 fi logger -p local0.info -t autofs "Dossier ${UHOME}/OwnCloud créé" fi chmod 750 /home-owncloud && chown www-data:root /home-owncloud && echo "-fstype=fuse.bindfs,map=$USERID/www-data:@$UGROUP/@www-data,resolve-symlinks :${UHOME}/OwnCloud"