木曜日, 6月 05, 2008

とりあえず、SELinuxをオフにしなくてもTracが動くようになりました

やっとできた。。。 初めから真面目に $ man audit2allow で調べとけばよかった。。。 manで見た中で例があげらっれており、以下のような文面だった。
EXAMPLE
      NOTE: These examples are for systems using the audit package. If you do
      not use the audit package, the AVC messages will be in /var/log/messages.
      Please substitute /var/log/messages for /var/log/audit/audit.log in the
      examples.

      Using audit2allow to generate monolithic (non-module) policy
     $ cd /etc/selinux/$SELINUXTYPE/src/policy
     $ cat /var/log/audit/audit.log | audit2allow >> domains/misc/local.te
     $ cat domains/misc/local.te
     allow cupsd_config_t unconfined_t:fifo_file { getattr ioctl };
     
     $ make load

     Using audit2allow to generate module policy

     $ cat /var/log/audit/audit.log | audit2allow -m local > local.te
     $ cat local.te
     module local 1.0;

     require {
             role system_r;

             class fifo_file {  getattr ioctl };

             type cupsd_config_t;
             type unconfined_t;
      };

     allow cupsd_config_t unconfined_t:fifo_file { getattr ioctl };
     

     Building module policy manually

     # Compile the module
     $ checkmodule -M -m -o local.mod local.te
     # Create the package
     $ semodule_package -o local.pp -m local.mod
     # Load the module into the kernel
     $ semodule -i local.pp

     Using audit2allow to generate and build module policy
     $ cat /var/log/audit/audit.log | audit2allow -M local
     Generating type enforcment file: local.te
     Compiling policy: checkmodule -M -m -o local.mod local.te
     Building package: semodule_package -o local.pp -m local.mod

     ******************** IMPORTANT ***********************

     In order to load this newly created policy package into the kernel,
     you are required to execute

     semodule -i local.pp
そこで、最終的にこんな具合にやってみた。
$ mkdir /etc/selinux/targeted/src $ mkdir /etc/selinux/targeted/src/policy $ cd /etc/selinux/targeted/src/policy $ audit2allow -d -m local > local.te $ checkmodule -M -m -o local.mod local.te $ semodule_package -o local.pp -m local.mod $ semodule -i local.pp
こんな感じでPermmision系のエラーが出る度に さっきのコマンドをくりかえし、 $ semodule -R で再読み込みをさせていく形で とりあえず、Tracが動くように。。。 こんなやり方でええのかなぁ~

0 件のコメント:

failed to read qemu headerのときのメモ

かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...