63 lines
1.7 KiB
Bash
Executable File
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
|