您的命令必须提供更多信息。之前已经讨论过(但是我看不到重复的内容)。
例如,
例如,ls -lZ
为样本列表提供以下标签:
$ ls -lZ msginit msgmerge msgunfmt
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0 msginit
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0 msgmerge
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0 msgunfmt
并chcon
期望unconfined_u:object_r:bin_t:s0
在其论点中有类似的结果。A bin_t
仅是部分信息。
所引用的过程应该已经起作用,并且使用了chcon
多余的代码。检查我的CentOS7,我已经xrdp
安装好了,清单显示
$ ls -lZ xrdp xrdp-chansrv xrdp-sesman xrdp-sessvc
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp-chansrv
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp-sesman
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp-sessvc
该system_u
场是SELinux的用户,该object_r
场的作用,bin_t
是类型和s0
为(默认值)水平。文件中/usr/sbin
的内容来自所显示的模式 semanage fcontext -l
(但是有很多匹配项)。在按照指南进行操作时,您可能已删除了xrdp
-甚至是的模式/usr/sbin
。但是,通过使用chcon
以下命令指定用户和角色,可以使命令更明确:
chcon -u system_u -r object_r --type=bin_t /usr/sbin/xrdp
chcon -u system_u -r object_r --type=bin_t /usr/sbin/xrdp-sesman
或者,如果模式是完整的,但是(例如)您已移动文件而不是安装文件,则可以使用以下方法修复文件
restorecon -v /usr/sbin/xrdp
restorecon -v /usr/sbin/xrdp-sesman
进一步阅读: