2014-05-14 12 views
5

Gibt es eine Einrichtung wie fanotify, aber für exec() Operationen? So etwas wie kauth in MacOS, aber in userland.Linux - fanotify, aber für exec()?

fanotify scheint nur zu informieren (und erlauben/verweigern) Datei öffnen/schließen/lesen/schreiben.

Ich habe Code gesehen, der auf Gabel und Exec durch other means (auch here) benachrichtigen kann, aber es gibt keine Möglichkeit, eine Exec zu erlauben oder zu verweigern. Außerdem scheint es Nachteile bei diesem Ansatz zu geben, da nicht alle Kernel mit dem netlink/proc-Konnektor kompiliert werden, und er kann von Ereignissen überwältigt werden.

+0

Wie genau würde das in userland funktionieren? Scheint mir, das ist etwas, das nur im Kernel implementiert werden konnte. –

+0

Ich habe mich gefragt, ob es eine Userland-Schnittstelle gibt, die ich für einige bereits vorhandene Funktionen im Kernel verwenden könnte, wie den Netlink-Code im obigen Link. – craig65535

Antwort

2

Vielleicht suchen Sie nach SELinux, ein Linux-Kernel-Modul, das die Durchsetzung von feinkörnigen Sicherheitsrichtlinien, wie wer oder was eine bestimmte Datei ausführen wird.

+0

Hat es eine API oder ist es nur über Konfigurationsdateien eingerichtet? – craig65535

+1

Ja: http://selinuxproject.org/page/LibselinuxAPISummary – Kaz

+0

Danke für den Link. Ich habe allerdings ein paar Probleme, herauszufinden, was mit dieser API möglich ist. Wäre es möglich, dass ich ein Modul schreibe, das von einem Exec benachrichtigt wird, und dann eine Zugriffsentscheidung an selinux zurücksende? Oder ist die API eher zum Lesen/Erstellen einer statischen Konfiguration? Beispiele, die ich mit libselinux gesehen habe, sind Projekte wie SE-PostgreSQL, und aus meiner Sicht verwenden sie es, um die Zugriffskontrolle zu erfüllen, die bereits in selinux eingerichtet ist. – craig65535