
Atualmente tenho o SELinux habilitado e consegui configurar o Apache para permitir acesso a/home/src/web com um chcon
comando 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.