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