arch-ppa/src/nextcloud/set-nc-perms.sh

63 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# from https://docs.nextcloud.org/server/9/admin_manual/installation/installation_wizard.html#strong-perms-label
# run with the argument "runtime" to set the proper runtime permissions
# run with the argument "upgrade" to set the proper upgrade permissions
if [ -d "$2/apps" ]; then
ncpath="$2"
else
ncpath='/usr/share/webapps/nextcloud'
fi
htuser='http'
htgroup='http'
rootuser='root'
runtime() {
printf "Creating possible missing Directories\n"
mkdir -p $ncpath/data
mkdir -p $ncpath/assets
mkdir -p $ncpath/updater
printf "chmod Files and Directories\n"
find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ncpath}/ -type d -print0 | xargs -0 chmod 0750
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ncpath}/
chown -R ${htuser}:${htgroup} ${ncpath}/apps/
chown -R ${htuser}:${htgroup} ${ncpath}/assets/
chown -R ${htuser}:${htgroup} ${ncpath}/config/
chown -R ${htuser}:${htgroup} ${ncpath}/data/
chown -R ${htuser}:${htgroup} ${ncpath}/themes/
chown -R ${htuser}:${htgroup} ${ncpath}/updater/
chmod +x ${ncpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ncpath}/.htaccess ]
then
chmod 0664 ${ncpath}/.htaccess
chown ${rootuser}:${htgroup} ${ncpath}/.htaccess
fi
if [ -f ${ncpath}/data/.htaccess ]
then
chmod 0664 ${ncpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ncpath}/data/.htaccess
fi
printf "chmod/chown .user.ini\n"
if [ -f ${ncpath}/.user.ini ]
then
chmod 0664 ${ncpath}/.user.ini
chown ${rootuser}:${htgroup} ${ncpath}/.htaccess
fi
}
upgrade() {
printf "Setting upgrade permissions\n"
chown -R ${htuser}:${htgroup} ${ncpath}
}
$1