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
차장은 더 많은 정보를 제공해야 합니다. 이것은 이전에 논의된 적이 있습니다(그러나 나는 그렇지 않습니다.중복).
예를 들어,
- 존재하다chcon: SELinux로 nagios를 설치할 때 태그가 지정되지 않은 파일에 부분 컨텍스트를 적용할 수 없습니다., Sergei Lomakov는 파일에 먼저
semanage
. - 존재하다Linux chcon: 표시되지 않은 파일에 부분 컨텍스트를 적용할 수 없습니다., 제안된 해결 방법은 명령에서 전체 유형을 사용하는 것입니다
chcon
(그러나 결정 유형을 먼저 사용해야 합니다ls -Z
). 콜론( )은:
계층 구조를 나타내기 때문에 일반적으로 완전한 유형의 이름에 포함됩니다.
예를 들어 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
이것은 누군가에게 도움이 될 수 있으므로 여기에 간단한 2센트가 있습니다. 어떻게든 selinux를 비활성화한 경우 이 문제가 발생할 수 있습니다. 이 문제를 해결하려면 selinux를 정상으로 복원하면 됩니다. /etc/selinux/config를 열고 변경하세요.
SELINUX=비활성화됨
로 돌아가
SELINUX=강제