Ваша команда должна дать больше информации. Это обсуждалось ранее (но я не вижу дубликатов ).
Например,
Например, 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в своем аргументе. А 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
Дальнейшее чтение: