相关疑难解决方法(0)

如何使用 semanage 将 SELinux 标签分配给符号链接,使其在重新标记后仍然存在?

我的 apache DocumentRoot /var/www 是另一个路径的符号链接。目标具有适当的文件上下文标签 (httpd_sys_content_t),以便 apache 可以在启用 SELinux 的情况下读取它。但是,符号链接本身标有 var_t。

[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
Run Code Online (Sandbox Code Playgroud)

我需要用 httpd_sys_content_t 重新标记符号链接。

使用 -h 选项运行 chcon 最初似乎有效:

[root@localhost var]# chcon -h -t httpd_sys_content_t /var/www
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:httpd_sys_content_t:s0 www -> /srv/www
Run Code Online (Sandbox Code Playgroud)

但是,这在重新标记后无法生存:

[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:httpd_sys_content_t:s0->syst
em_u:object_r:var_t:s0
Run Code Online (Sandbox Code Playgroud)

使用 semanage 不会重新标记链接本身;只是目标:

[root@localhost var]# semanage fcontext -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
[root@localhost var]# …
Run Code Online (Sandbox Code Playgroud)

linux permissions selinux symbolic-link apache-2.2

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache-2.2 ×1

linux ×1

permissions ×1

selinux ×1

symbolic-link ×1