やっとできた。。。
初めから真面目に
$ 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 件のコメント:
コメントを投稿