我们这里有一个新安装并设置的 CentOS7 系统,其中安装了新的 Joomla。我想知道为什么所有 Joomla 文件都是“不可写的”:
如果我们在 Joomla 中打开“系统” - “系统信息” - “文件夹权限”,所有文件夹都列为“不可写”
磁盘上的文件夹均归用户“apache”所有,并且该用户均可写入:
[root@localhost joomla]# ls -la
insgesamt 88
drwxr-xr-x. 18 apache apache 4096 12. Nov 12:50 .
drwxr-xr-x. 3 apache root 19 11. Nov 18:03 ..
drwxr-x--x. 10 apache apache 4096 21. Okt 23:48 administrator
drwxr-x--x. 2 apache apache 42 21. Okt 23:48 bin
drwxr-x--x. 2 apache apache 23 21. Okt 23:48 cache
drwxr-x--x. 2 apache apache 4096 21. Okt 23:48 cli
drwxr-x--x. 16 apache apache 4096 21. Okt 23:48 components
-rw-------. 1 apache root 1902 12. Nov 12:50 configuration.php
-rwxr-x--x. 1 apache apache 2915 21. Okt 23:48 htaccess.txt
drwxr-x--x. 5 apache apache 4096 21. Okt 23:48 images
drwxr-x--x. 2 apache apache 61 21. Okt 23:48 includes
-rwxr-x--x. 1 apache apache 1212 21. Okt 23:48 index.php
-rwxr-x--x. 1 apache apache 1872 22. Okt 15:55 joomla.xml
drwxr-x--x. 4 apache apache 51 21. Okt 23:48 language
drwxr-x--x. 5 apache apache 66 21. Okt 23:48 layouts
drwxr-x--x. 11 apache apache 4096 21. Okt 23:48 libraries
-rwxr-x--x. 1 apache apache 18092 21. Okt 23:48 LICENSE.txt
drwxr-x--x. 2 apache apache 23 21. Okt 23:48 logs
drwxr-x--x. 18 apache apache 4096 21. Okt 23:48 media
drwxr-x--x. 27 apache apache 4096 21. Okt 23:48 modules
drwxr-x--x. 14 apache apache 4096 21. Okt 23:48 plugins
-rwxr-x--x. 1 apache apache 4213 21. Okt 23:48 README.txt
-rwxr-x--x. 1 apache apache 842 21. Okt 23:48 robots.txt.dist
drwxr-x--x. 5 apache apache 64 21. Okt 23:48 templates
drwxrwxrwx. 2 apache apache 23 21. Okt 23:48 tmp
-rwxr-x--x. 1 apache apache 1690 21. Okt 23:48 web.config.txt
httpd 也以 apache 用户运行:
[root@localhost joomla]# ps aux | grep httpd
root 8642 0.0 1.2 396684 13032 ? Ss 13:16 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8644 0.0 0.7 396684 7316 ? S 13:16 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8645 0.0 0.7 396684 7784 ? S 13:16 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8646 0.0 1.3 502324 13332 ? S 13:16 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8647 0.0 0.7 396684 7784 ? S 13:16 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8648 0.0 1.3 502324 13332 ? S 13:16 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8650 0.0 1.3 502324 13332 ? S 13:17 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8651 0.0 0.6 396684 6588 ? S 13:17 0:00 /usr/sbin/httpd -DFOREGROUND
apache 8652 0.0 0.7 396684 7784 ? S 13:17 0:00 /usr/sbin/httpd -DFOREGROUND
root 8660 0.0 0.0 112660 924 pts/0 R+ 13:27 0:00 grep --color=auto httpd
为什么该文件夹不可写?!?
答案1
谢谢,但我找到了问题所在。安装 CentOS 后,我禁用了 SELinux,但没有重启。重启机器后,文件夹就可以写入了 :-)
当然:我也可以添加 SELinux 规则,以允许对特定目录进行写访问...