jef*_*ind 4 website joomla file-permissions owner
我的问题很笼统。让我们假设我有一个 linux 发行版 web 服务器,它/var/www/
是 web 目录。我使用我的超级用户帐户上传和解压缩 Joomla 安装.zip
文件夹。
Web 用户的 linux 系统用户称为www-data
. 无论如何,我的问题是谁应该是 linux 系统中文件的 ONWER?现在,因为我使用我的超级用户帐户解压文件,所有文件夹和文件都归超级用户所有,因此在 joomla 管理系统中显示为不可写。我只是有点犹豫将www-data
用户设置为文件的所有者。这个可以吗?
仅供参考,在 linux 中,我会更改文件夹和文件的所有者,并chown
使用chgrp
.
谢谢!
拥有所有 Joomla 是非常危险的!网络服务器可写的文件和目录。如果 Joomla! 中有任何错误!或者在某些扩展中,攻击者将能够通过随机漏洞(利用 PHP 代码中的错误)移除/更改/删除任何文件。取而代之的是,所有文件都应该只能由 Web 服务器读取(即:所有者应该是 root 或您拥有的普通用户),并且目录的所有权限应该是 755,文件的权限应该是 644。只有缓存目录可以由 www 服务器写入(如果您使用缓存)。所以应该对整个 Joomla 目录执行这样的操作(对于 Ubuntu 和 spol。):
cd /var/www/whatever-your-joomla-root-dir-is
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chown -R www-data .
在http://forum.joomla.org/viewtopic.php?t=121470 中查看更多关于 Unix 权限的信息
您可能需要以与缓存目录相同的方式更改带有扩展或模板的目录,仅在您安装/删除其中一个目录时,然后将所有权改回。
对于 Fedora、CentOS、RHEL、Scientific Linux 等,命令应该是:
chown -R apache .
而不是更改所有权(这只能以 root 身份完成),您可以通过此命令为其他人启用写权限(然后通过传递o-w
给相同的命令恢复):
chmod -R o+w cache
没问题。使用 www-data 作为所有者和组:
cd /var
chown www-data:www-data www
Run Code Online (Sandbox Code Playgroud)
无需使用 chgrp。