我的VPS云提供商是提供/data磁盘下大部分存储的提供商之一,因此webroot实际上将位于/data/www而不是/var/www,并且有一个从/var/www到/data/www的象征性链接,这样默认的Apache就可以信任工作了。
服务器一开始就禁用了SELinux,Wordpress和Postfix运行良好。因此,当我启用SELinux到许可模式时,我通过驾驶舱看到了许多错误。我是SELinux的新手,我做了以下这些:
sudo semanage fcontext -a -t httpd_sys_content_t "/data/www(/.)?"
sudo restorecon -R -v /data/wwwsudo semanage fcontext -a -t httpd_sys_content_t "/data/www/html(/.)?"
sudo restorecon -R -v /data/www/html在第一对命令之后,我很惊讶httpd_sys_content_t类型没有传播到所有内容。所以我试了第二双,也是一样的。只有两个目录:/data/www和/data/www/html被设置为所需的类型。
我可能误解了语义和restorecon的使用。请帮帮忙。目标是在/data中设置正确的类型。
为了完整起见,我再次这样做,并复制粘贴连续的线条,下面。(在重复-m命令时,我使用的是-a而不是semanage吗?)
[~]$ sudo semanage fcontext -m -t httpd_sys_content_t "/data/www/html(/.)?"
[sudo] password for johnsmith:
[~]$ sudo restorecon -R -v /data/www/html
[~]$ ls -lZ /data/www/html/
total 24
drwxrwxr-x. 3 apache apache system_u:object_r:default_t:s0 4096 Jul 14 15:15 foo
-rw-r--r--. 1 apache apache system_u:object_r:default_t:s0 430 Mar 2 18:51 index.php
-rw-r--r--. 1 apache apache system_u:object_r:default_t:s0 1402 Mar 4 11:00 bar.gif
drwxr-xr-x. 12 apache apache system_u:object_r:default_t:s0 4096 Mar 3 16:29 pmadir
drwxr-xr-x. 10 apache apache system_u:object_r:default_t:s0 4096 Feb 24 12:05 sendy
drwxr-xr-x. 10 apache apache system_u:object_r:default_t:s0 4096 Jun 11 06:48 wordpress
[~]$发布于 2020-07-15 07:19:52
您可能错过了一个* (通配符):
sudo semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?"https://unix.stackexchange.com/questions/598555
复制相似问题