对于ownCloud目录,为了方便我一直都是粗略地设置为770或650,用户为Apache,现在说一下细致的设置

- Debian/Ubuntu系统的网页服务器用户名和组是
www-data
- Fedora/CentOS系统的网页服务器用户名和组是a
apache
- Arch Linux系统的网页服务器用户名和组是
http
- openSUSE系统的网页服务器用户名是
wwwrun>
, 组是www
快速设置脚本
以下脚本可以帮助你快速进行设置#!/bin/bash ocpath='/var/www/owncloud' htuser='www-data' htgroup='www-data' rootuser='root'printf “Creating possible missing Directories\n” mkdir -p $ocpath/data mkdir -p $ocpath/assets mkdir -p $ocpath/updater
printf “chmod Files and Directories\n” find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640 find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
printf “chown Directories\n” chown -R ${rootuser}:${htgroup} ${ocpath}/ chown -R ${htuser}:${htgroup} ${ocpath}/apps/ chown -R ${htuser}:${htgroup} ${ocpath}/assets/ chown -R ${htuser}:${htgroup} ${ocpath}/config/ chown -R ${htuser}:${htgroup} ${ocpath}/data/ chown -R ${htuser}:${htgroup} ${ocpath}/themes/ chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf “chmod/chown .htaccess\n” if [ -f ${ocpath}/.htaccess ] then chmod 0644 ${ocpath}/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/.htaccess fi if [ -f ${ocpath}/data/.htaccess ] then chmod 0644 ${ocpath}/data/.htaccess chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess fi
注意:其中的网页服务器用户要按照实际使用的系统更改,参见上文。将以上内容复制下来,粘到一个文本文件中,保存为permission.sh。执行以下命令:
chmod +x permission.sh ./permission.sh
手动设置的原则
如果上面的脚本不能用,或有特殊需求,可以按照以下原则进行设置。- 管理员必须要可读可写所有文件, 只允许组用户可读。全部用户和组的权限为0。(也就是750的权限)
- 所有文件文件夹都有执行权限。
-
apps/
目录应该属于网页服务器的用户和组(例如CentOS中用户:apache,组:apache) -
config/
themes/
assets/
data/
- .htaccess文件用户为root,组为网站服务器的组(例如在CentOS中,.htaccess文件的用户:root,组:apache)
- data/目录下的.htaccess文件同上。(如果你不把文件存储在网站目录中,可以忽略这个)
-
两个.htaccess文件,root用户都要有读写权限,网页服务器组要有读权限。