我正在从头开始设置 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
.如果你想分配自己的用户属性,使用命令getfattr
和setfattr
。