chcon:无法将部分上下文应用于未标记的文件“ / usr / sbin / xrdp”


9

每当我尝试执行此行来配置SELinux以从教程中安装xrdp时:

# chcon --type=bin_t /usr/sbin/xrdp
# chcon --type=bin_t /usr/sbin/xrdp-sesman

我得到这些错误:

chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp'
chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp-sesman'

我使用的是CentOS 7.2 64位。

Answers:


6

我也在CentOS 7上,这对我有用:

chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp
chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp-sesman

1
尽管Thomas给出了相当全面的答案,但解决方案并不是那么简单。在我到达这两个实际上有效的命令之前,我不得不进行很多尝试和错误操作
Adelin

在CentOs盒子中,这对我也起作用。
ramires.cabral

4

您的命令必须提供更多信息。之前已经讨论过(但是我看不到重复的内容)。

例如,

例如,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

进一步阅读:


3
我还是不明白,您能告诉我什么命令可以解决吗?因为我对linux不太熟悉,所以SELinux都不
::

2

它可能会帮助某人,所以这是我的简单2美分。如果您以某种方式禁用了selinux,则可能会遇到此问题。要解决此问题,只需将selinux恢复为正常即可。打开/ etc / selinux / config并更改

SELINUX =禁用

回到

SELINUX =执行中

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.