为什么“attr -l .”告诉我有关“selinux”属性“attr -g selinux”的信息。拒绝阅读?

为什么“attr -l .”告诉我有关“selinux”属性“attr -g selinux”的信息。拒绝阅读?

我正在从头开始设置 Fedora (Core) 24 系统,并遇到了这个奇怪的情况:

> sudo attr -l .
Attribute "selinux" has a 41 byte value for .

> sudo attr -g selinux .
attr_get: No data available
Could not get "selinux" for .

(与当前目录“.”以外的文件类似,我只是用它作为示例)。

这是否只是selinux自身安全性的一部分,它分配给文件的标签是不可读的?还是还有其他事情发生?

根据要求,我运行了一些附加命令,这次是在“.bashrc”上:

# attr -l .bashrc 
Attribute "selinux" has a 37 byte value for .bashrc

# ls -Z .bashrc 
unconfined_u:object_r:user_home_t:s0 .bashrc

# echo "unconfined_u:object_r:user_home_t:s0"|wc -c
37

所以我猜“unconfined_u:object_r:user_home_t:s0”就是这个值,只是奇怪的是“attr -g selinux”没有给出它。

答案1

正如其他人指出的那样,这部分是命名空间问题。 selinux 位于安全命名空间中。所以: sudo attr -S -g selinux 。应该给你带来价值。似乎 attr -l 路径列出了安全性以及用户命名空间属性,但没有透露差异。

答案2

您是否正在使用XFS文件系统?这不是 Fedora 上的默认设置;您在安装过程中是否明确安排了这一点?

如果不是,那可能就是这个原因。命令属性是为了XFS文件系统。有关详细信息,请查看手册页。

你到底想做什么?如果您想查看文件的 SELinux 上下文,请使用ls -Z.如果你想分配自己的用户属性,使用命令getfattrsetfattr

相关内容