我的 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
Run Code Online (Sandbox Code Playgroud)
sudo semanage fcontext -a -t httpd_sys_content_t "/data/www/html(/.)?"
sudo restorecon -R -v /data/www/html
Run Code Online (Sandbox Code Playgroud)
在第一对命令之后,令我惊讶的是该httpd_sys_content_t
类型并未传播到所有内容。于是我尝试了第二对,结果是一样的。仅 2 个目录:/data/www
和/data/www/html
设置为所需类型。
我可能误解了semanage和restorecon的使用。请帮助。目标是为 中的这些事物设置正确的类型/data
。
为了完整起见,我再次执行此操作,并复制粘贴下面的连续行。(重复该命令时我使用-m
代替正确吗?)-a
semanage
[~]$ sudo semanage fcontext -m -t httpd_sys_content_t "/data/www/html(/.)?"
[sudo] …
Run Code Online (Sandbox Code Playgroud)