Semanage 和 Restorecon -R 没有像我预期的那样递归应用

Semanage 和 Restorecon -R 没有像我预期的那样递归应用

我的 VPS 云提供商是在磁盘下提供大部分存储的提供商之一/data,因此 Webroot 实际上位于/data/www而不是/var/www,并且有一个从/var/www到 的符号链接/data/www,以便默认的 Apache 配置可以工作。

服务器启动时禁用了 SELinux,Wordpress 和 Postfix 运行良好。因此,当我将 SELinux 启用为宽容模式时,我通过 Cockpit 看到了很多错误。我是 SELinux 的新手,我做了这些:

sudo semanage fcontext -a -t httpd_sys_content_t "/data/www(/.)?"
sudo restorecon -R -v /data/www
sudo semanage fcontext -a -t httpd_sys_content_t "/data/www/html(/.)?"
sudo restorecon -R -v /data/www/html

在第一对命令之后,令我惊讶的是该httpd_sys_content_t类型并未传播到所有内容。于是我尝试了第二对,结果是一样的。仅 2 个目录:/data/www/data/www/html设置为所需类型。

我可能误解了semanage和restorecon的使用。请帮助。目标是为 中的这些事物设置正确的类型/data

为了完整起见,我再次执行此操作,并复制粘贴下面的连续行。 (重复该命令时我使用-m代替正确吗?)-asemanage

[~]$ 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
[~]$

答案1

您可能在那里错过了*(通配符):

sudo semanage fcontext -a -t httpd_sys_content_t "/data/www(/.*)?"

相关内容