Назад | Перейти на главную страницу

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 Service Protection), похоже, я могу поддерживать текущий тип SELinux на /home/src/ dir, но установите для параметра syslogd_disable_trans значение false. Интересно, есть ли лучший подход?

Применение типов помогает предотвратить доступ процессов к файлам, предназначенным для использования другим процессом. Например, по умолчанию 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

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