chcon: impossible d'appliquer un contexte partiel au fichier non étiqueté '/ usr / sbin / xrdp'


9

Chaque fois que j'essaie d'exécuter cette ligne pour configurer SELinux pour installer xrdp à partir de ce tutoriel:

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

Je reçois ces erreurs:

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'

Je suis sur CentOS 7.2 64 bits.

Réponses:


6

Je suis également sur CentOS 7, et cela fonctionne pour moi:

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
Bien que Thomas ait donné une réponse assez complète, la solution n'est pas aussi simple. J'ai dû faire beaucoup d'essais et d'erreurs jusqu'à ce que j'atteigne ces deux commandes, qui fonctionnent réellement
Adelin

Cela a également fonctionné pour moi dans une boîte CentOs.
ramires.cabral

4

Votre commande doit donner plus d'informations. Cela a déjà été discuté (mais je ne vois aucun doublon ).

Par exemple,

Par exemple, ls -lZdonne ces balises pour un exemple de liste:

$ 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

et chconattend quelque chose comme unconfined_u:object_r:bin_t:s0dans son argument. A bin_tn'est qu'une information partielle.

La procédure référencée aurait dû fonctionner, et l'utilisation de chconredondants. En vérifiant mon CentOS7, je me trouve avoir xrdpinstallé, et une liste montre

$ 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

Le system_uchamp est le SELinux utilisateur , le object_rchamp est le rôle , bin_test le genre et s0est (par défaut) niveau . Les fichiers dans /usr/sbinleur contexte proviennent d'un modèle montré par semanage fcontext -l(mais il y a beaucoup de correspondances). En suivant le guide, vous avez peut-être supprimé le motif pour le xrdp- ou même pour /usr/sbin. Cependant, vous pouvez être plus explicite dans la commande, en spécifiant l'utilisateur et le rôle en utilisant 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

Alternativement, si les modèles sont intacts mais (par exemple) vous avez déplacé les fichiers plutôt que de les installer, vous pouvez réparer les choses en utilisant

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

Lectures complémentaires:


3
Je ne comprends toujours pas, pouvez-vous me dire quelle commande serait la solution? comme je ne suis pas vraiment familier avec linux Ni SELinux :(
TheOnlyOne

2

Cela pourrait aider quelqu'un, alors voici mon simple 2 cents. Si vous avez en quelque sorte désactivé selinux, vous pourriez être confronté à ce problème. pour résoudre ce problème, changez simplement le selinux en normal. ouvrez / etc / selinux / config et changez

SELINUX = désactivé

retour à

SELINUX = application

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.