我的apache DocumentRoot / var / www是另一个路径的符号链接.目标具有适当的文件上下文标签(httpd_sys_content_t),以便apache可以在启用SE
Linux的情况下读取它.但是,符号链接本身标有var_t.
[root@localhost var]# ls -lZ lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
我需要用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
然而,这不再存在于重新标记中:
[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
使用semanage不会重新链接链接本身;只是目标:
[root@localhost var]# semanage fcontext -a -t httpd_sys_content_t /var/www [root@localhost var]# restorecon -Rv . [root@localhost var]# ls -lZ lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www
semanage没有-h选项.
如何设置链接本身的标签,以便在重新标记后保留为httpd_sys_content_t?
解决方法
我想到了:
semanage有一个选项-f,它允许你指定模式字段中显示的文件类型ls(d代表目录,– 代表常规文件,l代表链接).
使用-f -l时,链接本身是目标.
[root@localhost var]# semanage fcontext -f -l -a -t httpd_sys_content_t /var/www [root@localhost var]# restorecon -Rv . restorecon reset /var/www context system_u:object_r:var_t:s0->system_u:object_r:httpd_sys_content_t:s0
请参见semanage-fcontext
手册页.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。