chcon: no se puede aplicar el contexto parcial al archivo sin etiqueta '/ usr / sbin / xrdp'


9

Cada vez que intento ejecutar esta línea para configurar SELinux para instalar xrdp desde este tutorial:

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

Recibo estos errores:

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'

Estoy en CentOS 7.2 de 64 bits.

Respuestas:


6

También estoy en CentOS 7, y esto funciona para mí:

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
Si bien Thomas dio una respuesta bastante completa, la solución no es tan sencilla. Tuve que hacer muchos intentos y errores hasta que llegué a estos dos comandos, que realmente funcionan
Adelin

Eso también funcionó para mí en una caja CentOs.
ramires.cabral

4

Su comando tiene que dar más información. Se ha discutido antes (pero no veo duplicados ).

Por ejemplo,

Por ejemplo, ls -lZda estas etiquetas para un listado de muestra:

$ 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

y chconespera algo así como unconfined_u:object_r:bin_t:s0en su argumento. A bin_tes solo información parcial.

El procedimiento de referencia debería haber funcionado, y el uso de chconredundante. Comprobando mi CentOS7, tengo xrdpinstalado, y una lista muestra

$ 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

El system_ucampo es el SELinux usuario , el object_rcampo es el papel , bin_tes el tipo y s0es el (por defecto) de nivel . Los archivos /usr/sbinobtienen su contexto de un patrón mostrado por semanage fcontext -l(pero hay muchas coincidencias). Al seguir la guía, es posible que haya eliminado el patrón para xrdp- o incluso para /usr/sbin. Sin embargo, puede ser más explícito en el comando, especificando el usuario y el rol mediante 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

Alternativamente, si los patrones están intactos pero (por ejemplo) movió los archivos en lugar de instalarlos, podría reparar los elementos utilizando

restorecon -v /usr/sbin/xrdp
restorecon -v /usr/sbin/xrdp-sesman

Otras lecturas:


3
Todavía no lo entiendo, ¿puedes decirme qué comando sería la solución para eso? como no estoy realmente familiarizado con Linux Ni SELinux :(
TheOnlyOne

2

Podría ayudar a alguien, así que aquí están mis simples 2 centavos. Si de alguna manera deshabilitó selinux, podría enfrentar este problema. Para resolver esto, simplemente cambie el selinux a la normalidad. abrir / etc / selinux / config y cambiar

SELINUX = deshabilitado

de regreso

SELINUX = hacer cumplir

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.