在 CentOS 7.5、Linux 3.10.0-862.3.2.el7.x86_64 上,我试图了解文件上下文是如何工作的。ls -Z
,chcon
并且semanage
似乎按预期工作,但restorecon
似乎固执地保持沉默。
例如:
$ cd
$ mkdir context
$ ls -laZ
drwxrwxr-x liteyear liteyear ? context
$ chcon -v unconfined_u:object_r:user_home_t:s0 context
$ ls -laZ
drwxrwxr-x. liteyear liteyear unconfined_u:object_r:user_home_t:s0 context
$ rmdir context
一切都好,并且semanage
:
$ mkdir context
$ sudo semanage fcontext -a -t user_home_t /home/liteyear/context
$ cat /etc/selinux/targeted/contexts/files/file_contexts.local
# This file is auto-generated by libsemanage
# Do not edit directly.
/home/liteyear/context system_u:object_r:user_home_t:s0
一切都好,但restorecon
路线:
$ restorecon -v /home/liteyear/context
$ ls -laZ
drwxrwxr-x liteyear liteyear ? context
不应用文件上下文。
我已经尝试了各种迭代,使用现有的上下文、不同的上下文、其他文件夹和文件,restorecon
但从未产生任何东西。有各种类似的报告(例如[CentOS] SELinux restorecon does not work),但似乎没有人确认存在问题。
这restorecon
是应该工作的方式吗?