chcon: 태그가 지정되지 않은 파일 '/usr/sbin/xrdp'에 부분 컨텍스트를 적용할 수 없습니다.

chcon: 태그가 지정되지 않은 파일 '/usr/sbin/xrdp'에 부분 컨텍스트를 적용할 수 없습니다.

xrdp를 설치하도록 SELinux를 구성하기 위해 이 줄을 실행하려고 할 때마다이것지도 시간:

# 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비트를 사용하고 있습니다.

답변1

나는 또한 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

답변2

차장은 더 많은 정보를 제공해야 합니다. 이것은 이전에 논의된 적이 있습니다(그러나 나는 그렇지 않습니다.중복).

예를 들어,

예를 들어 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:s0A는 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

이것은 누군가에게 도움이 될 수 있으므로 여기에 간단한 2센트가 있습니다. 어떻게든 selinux를 비활성화한 경우 이 문제가 발생할 수 있습니다. 이 문제를 해결하려면 selinux를 정상으로 복원하면 됩니다. /etc/selinux/config를 열고 변경하세요.

SELINUX=비활성화됨

로 돌아가

SELINUX=강제

관련 정보