48 lines
1.7 KiB
Django/Jinja
Executable File
48 lines
1.7 KiB
Django/Jinja
Executable File
#!/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"
|