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