SELinux - Permitir acesso a vários serviços no mesmo /home/dir

SELinux - Permitir acesso a vários serviços no mesmo /home/dir

Atualmente tenho o SELinux habilitado e consegui configurar o Apache para permitir acesso a/home/src/web com um chconcomando que concede o tipo 'httpd_sys_content_t'. Mas agora estou tentando servir o arquivo rsyslogd.conf do mesmo diretório, mas toda vez que inicio o rsyslogd, vejo uma entrada em meu log de auditoria informando que o acesso ao rsyslogd foi negado. Minha pergunta é: é possível conceder a dois aplicativos a capacidade de acessar o mesmo diretório, mantendo o SELinux habilitado?

Permissões atuais em /home/src:

drwxr-xr-x. src      src      unconfined_u:object_r:httpd_sys_content_t:s0 src

Mensagem de registro de auditoria:

type=AVC msg=audit(1349113476.272:1154): avc:  denied  { search } for  pid=9975 comm="rsyslogd" name="/" dev=dm-2 ino=2 scontext=unconfined_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
type=SYSCALL msg=audit(1349113476.272:1154): arch=c000003e syscall=2 success=no exit=-13 a0=7f9ef0c027f5 a1=0 a2=1b6 a3=0 items=0 ppid=9974 pid=9975 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=30 comm="rsyslogd" exe="/sbin/rsyslogd" subj=unconfined_u:system_r:syslogd_t:s0 key=(null)

--Editar--

Me deparei com issopublicar, que é o que estou tentando realizar. No entanto, quando vi a lista deparâmetros sebool permitidos, o único relacionado ao syslog foi: syslogd_disable_trans (SELinux Service Protection), parece que posso manter o 'tipo' atual do SELinux no /home/src/diretório, mas defina o bool em syslogd_disable_trans como false. Eu me pergunto se existe uma abordagem melhor?

Responder1

Como ainda estou aprendendo o SELinux, tentei não implementar pacotes de políticas personalizados do SELinux, mas neste caso parecia que não tinha escolha. Então eu segui a resposta original para issopublicar, e consegui fazer com que o rsyslog funcionasse bem com /home/src/web.

Responder2

Type Enforcement ajuda a impedir que processos acessem arquivos destinados ao uso por outro processo. Por exemplo, por padrão, o Samba não pode ler arquivos rotulados com o tipo httpd_sys_content_t, que são destinados ao uso pelo Servidor HTTP Apache. Os arquivos podem ser compartilhados entre o servidor Apache HTTP, FTP, rsync e Samba, se os arquivos desejados forem rotulados com o tipo public_content_t ou public_content_rw_t.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-Configuration_examples-Sharing_files_between_services.html

informação relacionada