summarylogtreecommitdiffstats
path: root/set-nc-perms.sh
diff options
context:
space:
mode:
Diffstat (limited to 'set-nc-perms.sh')
-rwxr-xr-xset-nc-perms.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/set-nc-perms.sh b/set-nc-perms.sh
new file mode 100755
index 000000000000..b2b10efe318a
--- /dev/null
+++ b/set-nc-perms.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+# from https://doc.owncloud.org/server/9.0/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
+
+ncpath='/usr/share/webapps/nextcloud'
+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}/ncc
+
+ 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