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