chcon: impossibile applicare il contesto parziale al file senza etichetta "/ usr / sbin / xrdp"


9

Ogni volta che sto cercando di eseguire questa riga per configurare SELinux per installare xrdp da questo tutorial:

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

Ottengo questi errori:

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'

Sono su CentOS 7.2 a 64 bit.

Risposte:


6

Sono anche su CentOS 7 e questo funziona per me:

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
Mentre Thomas ha dato una risposta piuttosto completa, la soluzione non è così semplice. Ho dovuto fare un sacco di tentativi ed errori fino a quando non ho raggiunto questi due comandi, che in realtà funzionano
Adelin,

Questo ha funzionato anche per me in una scatola di CentOs.
ramires.cabral

4

Il tuo comando deve fornire ulteriori informazioni. È stato discusso in precedenza (ma non vedo duplicati ).

Per esempio,

Ad esempio, ls -lZfornisce questi tag per un elenco di esempio:

$ 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

e chconsi aspetta qualcosa di simile unconfined_u:object_r:bin_t:s0nel suo argomento. A bin_tè solo un'informazione parziale.

La procedura di riferimento dovrebbe aver funzionato e l'uso di chconridondanti. Controllando il mio CentOS7, mi è capitato di averlo xrdpinstallato e viene visualizzato un elenco

$ 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

Il system_ucampo è l' utente SELinux , il object_rcampo è il ruolo , bin_tè il tipo ed s0è il livello (predefinito) . I file /usr/sbinottengono il loro contesto da uno schema mostrato da semanage fcontext -l(ma ci sono molte corrispondenze). Seguendo la guida, potresti aver rimosso il modello per xrdp- o anche per /usr/sbin. Tuttavia, puoi essere più esplicito nel comando, specificando l'utente e il ruolo usando 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

In alternativa, se i modelli sono intatti ma (ad esempio) hai spostato i file anziché installarli, puoi riparare le cose usando

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

Ulteriori letture:


3
Ancora non capisco, mi puoi dire quale comando sarebbe la correzione allora? dato che non ho molta familiarità con Linux Né SELinux :(
TheOnlyOne

2

Potrebbe aiutare qualcuno, quindi ecco i miei semplici 2 centesimi. Se in qualche modo hai disabilitato selinux, potresti affrontare questo problema. per risolvere questo, basta riportare selinux alla normalità. apri / etc / selinux / config e cambia

SELINUX = disabled

torna a

SELINUX = enforcing

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.