selinux,文件与 file_contexts.local 不匹配

selinux,文件与 file_contexts.local 不匹配
semanage fcontext  -a -t puppet_etc_t "/etc/puppet/environments(/.*)?"
cat  /etc/selinux/targeted/contexts/files/file_contexts.local
# This file is auto-generated by libsemanage
# Do not edit directly.

/etc/puppet/environments(/.*)?    system_u:object_r:puppet_etc_t:s0

 touch /etc/puppet/environments/hello1
 ls -Z /etc/puppet/environments/hello1 
 -rw-r--r--. root root unconfined_u:object_r:puppet_etc_t:s0 /etc/puppet/environments/hello1

为什么这个文件被创建为“unconfined_u”而不是“system_u”?我该如何更改它?谢谢。

答案1

因为您在以不受限制的用户身份登录时创建了该文件。

由于在定向政策用户几乎总是被忽略,这确实不是一个问题。

如果你确实想改变它,你可以使用chcon它来做到这一点。例如:

# ls -Z /etc/nsswitch.conf.ipabkp
-rw-r--r--. root root unconfined_u:object_r:etc_t:s0   /etc/nsswitch.conf.ipabkp
# chcon -u system_u /etc/nsswitch.conf.ipabkp 
# ls -Z /etc/nsswitch.conf.ipabkp
-rw-r--r--. root root system_u:object_r:etc_t:s0       /etc/nsswitch.conf.ipabkp

相关内容