SELinux - 複数のサービスが同じ /home/dir にアクセスできるようにする

SELinux - 複数のサービスが同じ /home/dir にアクセスできるようにする

現在、SELinux が有効になっており、'httpd_sys_content_t' タイプを許可するコマンドを使用して、Apache が /home/src/web へのアクセスを許可するように設定できましたchcon。しかし、現在、同じディレクトリから rsyslogd.conf ファイルを提供しようとしていますが、rsyslogd を起動するたびに、rsyslogd がアクセスを拒否されたことを示すエントリが監査ログに表示されます。質問は、SELinux を有効にしたまま、2 つのアプリケーションに同じディレクトリへのアクセスを許可することは可能でしょうか?

/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)

- 編集 -

これを見つけた役職、これは私が達成しようとしていることのようなものです。しかし、許可されたセブールパラメータsyslog に関連するのは syslogd_disable_trans (SELinux サービス保護) のみで、ディレクトリ上の現在の SELinux 'type' を維持し/home/src/ながら、syslogd_disable_trans の bool を false に設定できるようです。もっと良い方法があるのでしょうか?

答え1

私はまだSELinuxを学習中なので、カスタムSELinuxポリシーパッケージを実装しないようにしましたが、この場合、他に選択肢がないように思えました。そこで、この質問に対する元の回答に従いました。役職、rsyslog を /home/src/web でうまく動作させることができました。

答え2

タイプ強制は、プロセスが別のプロセスで使用するためのファイルにアクセスするのを防ぐのに役立ちます。たとえば、デフォルトでは、Samba は Apache HTTP Server で使用するための httpd_sys_content_t タイプのラベルが付いたファイルを読み取ることができません。目的のファイルに public_content_t または public_content_rw_t タイプのラベルが付いている場合は、Apache HTTP Server、FTP、rsync、および Samba 間でファイルを共有できます。

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

関連情報