Seu comando precisa fornecer mais informações. Já foi discutido antes (mas não vejo duplicatas ).
Por exemplo,
Por exemplo, ls -lZ
fornece essas tags para uma listagem de amostra:
$ 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 chcon
está esperando algo como unconfined_u:object_r:bin_t:s0
em seu argumento. A bin_t
é apenas uma informação parcial.
O procedimento referenciado deve ter funcionado e o uso de chcon
redundante. Verificando meu CentOS7, eu já xrdp
instalei, e uma lista mostra
$ 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
O system_u
campo é o usuário do SELinux , o object_r
campo é a função , bin_t
é o tipo e s0
é o nível (padrão) . Os arquivos no /usr/sbin
seu contexto obtêm um padrão mostrado por semanage fcontext -l
(mas há muitas correspondências). Ao seguir o guia, você pode ter removido o padrão para xrdp
- ou mesmo para /usr/sbin
. No entanto, você pode ser mais explícito no comando, especificando o usuário e a função 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
Como alternativa, se os padrões estiverem intactos, mas (por exemplo) você moveu os arquivos em vez de instalá-los, você pode reparar as coisas usando
restorecon -v /usr/sbin/xrdp
restorecon -v /usr/sbin/xrdp-sesman
Leitura adicional: