ansible/roles/owncloud-autofs/templates/auto.master.d/home-owncloud.sh.j2

43 lines
1.4 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]*$//")
# On quitte si l'utilisateur $USER n'existe pas
if ! /usr/bin/id -- "$USER" &>/dev/null; then
logger -p local0.error -t autofs "user $USER n'existe pas"
exit 1
fi
UHOME=$(eval echo ~$USER)
UGROUP=$(/usr/bin/id -gn $USER)
# 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 $USER -group ${UGROUP} |
/bin/grep -q ${UHOME}/OwnCloud/
); then
mkdir -p ${UHOME}/OwnCloud &&
chmod 700 ${UHOME}/OwnCloud &&
chown $USER:${UGROUP} ${UHOME}/OwnCloud
if [ ! -d "${UHOME}/OwnCloud" ] || ! (
/usr/bin/find ${UHOME}/OwnCloud/ -maxdepth 0 -user $USER -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=$USER/www-data:@$UGROUP/@www-data,resolve-symlinks :${UHOME}/OwnCloud"