SELinux 删除扩展 ACL

SELinux 删除扩展 ACL

我有一组文件不能使用 selinux 的扩展 acl。运行 ls -la 时,我得到类似以下内容的结果:

-rwxr-xr-x.  1 root root    1 Aug  8  2014 filea
-rwxr-xr-x.  1 root root    1 Aug  8  2014 fileb
          ^ Note the dot

SELinux 设置为宽容,但我无法运行命令sudo setfattr -h -x security.selinux filea,它返回错误setfattr: filea: Permission denied。如果我完全禁用 SELinux,它就可以正常工作。

问题是禁用 SELinux 需要重新启动服务器,这是不可能的。有没有办法在ls -la不重新启动服务器的情况下删除 SELinux 文件 ACL(即删除 中的那个点)?

答案1

SELinux ACL 并非直接在文件上设置,因此您实际上不能这样做。

所有 SELinux 访问规则均应用于“上下文”;所有进程所有文件都存在于一个或另一个上下文中,而点仅表示该文件具有具体的为其分配 SELinux 上下文 (请参阅ls -Z),而不是默认上下文 ( unconfined_u:object_r:default_t)。

如果现行规则允许,你可以更改文件的安全上下文(重新标记)使用chcon

相关内容