SELinux - разрешить нескольким службам доступ к одному и тому же /home/dir

В настоящее время я включил SELinux и смог настроить apache для разрешения доступа к /home/src/web с chcon команда, предоставляющая тип 'httpd_sys_content_t'. Но теперь я пытаюсь обслуживать файл rsyslogd.conf из того же каталога, но каждый раз, когда я запускаю rsyslogd, в журнале аудита появляется запись о том, что rsyslogd было отказано в доступе. У меня вопрос: возможно ли предоставить двум приложениям возможность доступа к одному и тому же каталогу, при этом оставляя SELinux включенным?

Текущие пермиты на /home/src:

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

Сообщение журнала аудита:

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)

-- Редактировать --

Наткнулся на этот пост, что-то вроде того, что я пытаюсь достичь. Однако, когда я просматривал список разрешенных параметров sebool, единственное отношение к syslog было: syslogd_disable_trans (защита службы SELinux), похоже, что я могу поддерживать текущий тип SELinux на /home/src/ dir, но установите bool для syslogd_disable_trans в false. Интересно, есть ли лучший подход?

2 ответа

Решение

Поскольку я все еще изучаю SELinux, я пытался не реализовывать пользовательский пакет политик SELinux, но в этом случае казалось, что у меня нет выбора. Так что я последовал первоначальному ответу на этот пост и смог получить rsyslog для хорошей игры с /home/src/web.

Тип Enforcement помогает предотвратить доступ процессов к файлам, предназначенным для использования другим процессом. Например, по умолчанию Samba не может читать файлы, помеченные типом httpd_sys_content_t, которые предназначены для использования HTTP-сервером Apache. Файлы могут совместно использоваться сервером HTTP Apache, FTP, rsync и Samba, если нужные файлы помечены с типом public_content_t или 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

Другие вопросы по тегам