Votre commande doit donner plus d'informations. Cela a déjà été discuté (mais je ne vois aucun doublon ).
Par exemple,
Par exemple, ls -lZ
donne 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 chcon
attend quelque chose comme unconfined_u:object_r:bin_t:s0
dans son argument. A bin_t
n'est qu'une information partielle.
La procédure référencée aurait dû fonctionner, et l'utilisation de chcon
redondants. En vérifiant mon CentOS7, je me trouve avoir xrdp
installé, 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_u
champ est le SELinux utilisateur , le object_r
champ est le rôle , bin_t
est le genre et s0
est (par défaut) niveau . Les fichiers dans /usr/sbin
leur 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: