Linux

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

对于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用户都要有读写权限,网页服务器组要有读权限。
(2)

本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!

关键词:

热评文章

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.