2010-03-26 7 views
1

Comment puis-je vérifier (avec SELinux) l'accès au fichier par nom de processus?Contrôle d'intégrité SElinux

Par exemple, nous avons 2 processus:

  • /usr/bin/foo1
  • /usr/bin/foo2

Ils sont gérés en compte avec le nom d'utilisateur userA et essayez d'ouvrir pour le fichier ACTUALISATION:

  • /home/userA/test.txt

Je veux que si foo1 essaie d'ouvrir le fichier - c'est ok. Mais si foo2 essaie d'ouvrir ce fichier - J'ai un message à ce sujet dans /var/log.

Le problème est que les deux processus ont le même ID utilisateur. Et je ne peux pas utiliser RBAC par nom d'utilisateur.

Répondre

2

Il faudrait donner aux deux foo1 et foo2 types de domaine personnalisé pour exécuter dans l'utilisation de la politique SELinux. Cela impliquerait:

  1. Créer des types pour les binaires (par exemple foo1_exec_t et foo2_exec_t)
  2. Créer des types pour les processus (par exemple foo1_t et foo2_t)
  3. Précisons que lorsque le type d'utilisateur (probablement unconfined_t) exécute foo1_exec_t , sa transition vers foo1_t et similaire pour foo2

Ensuite, vous devez créer un type personnalisé pour test.txt (par ex. Une fois que vous avez fait cela, vous pouvez écrire n'importe quelle politique que vous aimez pour ceux-ci (y compris une règle auditallow pour l'accès particulier que vous recherchez). Le problème est qu'en créant des types personnalisés, vous devrez spécifier tous les accès pour eux.

Si vous ne cherchez pas à faire un contrôle d'accès, mais connectez-vous quand il arrive quelque chose, le sous-système de vérification est un meilleur choix, mais je ne sais pas que vous pouvez être ce granulaire avec elle.

Questions connexes