【ownCloud】文件夹权限设置详解

Posted by 橙叶 on Tue, Nov 8, 2016
对于ownCloud目录,为了方便我一直都是粗略地设置为770或650,用户为Apache,现在说一下细致的设置
linux-security
  • 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用户都要有读写权限,网页服务器组要有读权限。


comments powered by Disqus