Configuration de SELINUX pour autoriser la connection à un file situé à l'extérieur de / var / log

J'ai un démon qui utilise syslog (3) pour se connecter à un file qui n'est pas un descendant de / var / log. Actuellement, cela nécessite que SELINUX soit désactivé. Comment puis-je configurer un SELINUX activé pour autoriser cette connection?

Je suis un novice SELINUX. Toute orientation ou conseil serait apprécié.

Si vous regardez le context défini pour le directory / var / log, vous remarquerez les choses suivantes.

Tout d'abord, le directory /var/log a le jeu de context selinux suivant:

 $ ls -Z /var | grep "log$" drwxr-xr-x. root root system_u:object_r:var_log_t:s0 log 

Deuxièmement, le file journal, /var/log/messages , n'a pas de context supplémentaire:

 $ ls -Z /var/log/messages -rw------- root root ? /var/log/messages 

Il semblerait donc que vous ayez uniquement besoin de définir un context similaire à celui de /var/log sur le directory auquel vous prévoyez d'écrire ce file journal supplémentaire. Quelque chose comme ça devrait le faire.

Méthode n ° 1: réplication de l'label selinux

Vous copyrez ci-dessous le context associé à /var/log et l'appliquerez également à /opt/blah .

 $ mkdir /opt/blah $ ls -Z /opt | grep blah drwxr-xr-x root root ? blah # label directory with context $ chcon --reference /var/log /opt/blah # see the newly added context $ ls -Z /opt/ | grep blah drwxr-xr-x. root root system_u:object_r:var_log_t:s0 blah 

Méthode # 2: appliquer directement le context

Vous pouvez également les appliquer directement comme ceci:

 $ chcon system_u:object_r:var_log_t:s0 /opt/blah 

Je suis loin d'un système où je peux confirmer la nécessité d'exécuter ces commands, mais je crois que vous devez dire à SELinux de ramener ces contexts nouvellement appliqués au système de files.

 $ semanage fcontext -a -t var_log_t "/opt(/.*)?" $ restorecon -R -v /opt 

confirmer les changements

 # confirm identical to /var/log context $ ls -Z /var/ | grep "log$" drwxr-xr-x. root root system_u:object_r:var_log_t:s0 log 

Les references

  • Guide de deployment RHEL – Chapitre 44. Travailler avec SELinux
  • CentOS SELinux Howto
  • ⁠5.6.2. Changements persistants: semanage fcontext