SELinux - Erlauben Sie mehreren Diensten den Zugriff auf dasselbe /home/dir

SELinux - Erlauben Sie mehreren Diensten den Zugriff auf dasselbe /home/dir

Ich habe derzeit SELinux aktiviert und konnte Apache so konfigurieren, dass der Zugriff auf /home/src/web mit einem chconBefehl möglich ist, der den Typ „httpd_sys_content_t“ gewährt. Jetzt versuche ich jedoch, die Datei rsyslogd.conf aus demselben Verzeichnis bereitzustellen, aber jedes Mal, wenn ich rsyslogd starte, wird in meinem Prüfprotokoll ein Eintrag angezeigt, der besagt, dass rsyslogd der Zugriff verweigert wurde. Meine Frage ist: Ist es möglich, zwei Anwendungen die Möglichkeit zu geben, auf dasselbe Verzeichnis zuzugreifen, während SELinux weiterhin aktiviert bleibt?

Aktuelle Berechtigungen für /home/src:

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

Prüfprotokollmeldung:

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)

-- Bearbeiten --

Bin darauf gestoßenPost, was ich auch erreichen möchte. Als ich mir jedoch die Liste dererlaubte Sebool-Parameter, das einzige, was mit Syslog zusammenhing, war: syslogd_disable_trans (SELinux Service Protection), es sieht so aus, als könnte ich den aktuellen SELinux-Typ im /home/src/Verzeichnis beibehalten, aber den booleschen Wert von syslogd_disable_trans auf false setzen. Ich frage mich, ob es einen besseren Ansatz gibt?

Antwort1

Da ich SELinux noch lerne, habe ich versucht, keine benutzerdefinierten SELinux-Richtlinienpakete zu implementieren, aber in diesem Fall schien es, als hätte ich keine andere Wahl. Also folgte ich der ursprünglichen Antwort auf diesePost, und konnte rsyslog dazu bringen, gut mit /home/src/web zu funktionieren.

Antwort2

Die Typdurchsetzung hilft dabei, Prozesse daran zu hindern, auf Dateien zuzugreifen, die für die Verwendung durch einen anderen Prozess vorgesehen sind. Beispielsweise kann Samba standardmäßig keine Dateien lesen, die mit dem Typ httpd_sys_content_t gekennzeichnet sind und für die Verwendung durch den Apache-HTTP-Server vorgesehen sind. Dateien können zwischen dem Apache-HTTP-Server, FTP, rsync und Samba gemeinsam genutzt werden, wenn die gewünschten Dateien mit dem Typ public_content_t oder public_content_rw_t gekennzeichnet sind.

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

verwandte Informationen