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.