Seu comando precisa fornecer mais informações. Foi discutido antes (mas não vejo duplicatas ).
Por exemplo,
- em chcon: não pode aplicar contexto parcial a um arquivo não rotulado enquanto instala nagios com o SELinux , Sergei Lomakov apontou que primeiro era necessário rotular os arquivos usando
semanage. - em Linux chcon: não se aplica contexto parcial para o arquivo não rotulado , a solução sugerida usa o tipo completo no comando
chcon(mas você deve primeiro determinar o tipo usandols -Z). O tipo completo normalmente teria dois pontos (:) no nome, porque representa uma hierarquia.
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ão esperando algo como unconfined_u:object_r:bin_t:s0 em seu argumento. Um bin_t é apenas uma informação parcial.
O procedimento referenciado deve ter funcionado e o uso de chcon redundante. Verificando meu CentOS7, por acaso tenho xrdp instalado, e uma listagem 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 campo system_u é o SELinux usuário , o campo object_r é o papel , bin_t é o tipo e s0 é o (padrão) nível . Os arquivos em /usr/sbin obtêm seu contexto de um padrão mostrado por semanage fcontext -l (mas há muitas correspondências). Seguindo o guia, você pode ter removido o padrão para o 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
Alternativamente, se os padrões estão intactos, mas (por exemplo) você moveu os arquivos ao invés de instalá-los, você pode consertar coisas usando
restorecon -v /usr/sbin/xrdp
restorecon -v /usr/sbin/xrdp-sesman
Leitura adicional:
- 5.6. Contextos do SELinux - Rotulando arquivos
- 5.6.2 . Mudanças persistentes: fcontext semanage
-
restorecon- restaura o (s) arquivo (s) dos contextos de segurança padrão do SELinux. -
chcon- altera o contexto de segurança do SELinux no arquivo