2done.org

Linuxメインなメモ書き。二度寝してから書く。(ご意見は Twitter あたりで。そのうちコメント欄つけます。)

半袖さんへ

1. mkdir work

2. vim mysqlnfs.te

module mysqlnfs 1.0;

require {
        type nfs_t;
        type mysqld_t;
        class dir { getattr search };
}

#============= mysqld_t ==============
allow mysqld_t nfs_t:dir { getattr search };

3. make -f /usr/share/selinux/devel/Makefile

4. ls

mysqlnfs.fc  mysqlnfs.if  mysqlnfs.pp  mysqlnfs.te  tmp

5. semodule -i mysqlnfs.pp

6. semodule -l | grep mysql

mysql 1.11.3
mysqlnfs 1.0

7. これでOKのはず。

とはいかないと思います。

現在、ディレクトリ内の検査と属性の取得だけが許可されているので、ファイルについてはアクセスが拒否される可能性があります。

一度、Permissive モードに変更(setenforce 0)し、 その上で、再度、audit2allow してやらないとダメではないかと思われます。

あ、でも、ファイルについては正しいラベルがついてるかもしれないので、とりあえず、Permissive モードにしてaudit2allow の値を比較してみてください。

ちなみに make までの作業は以下のコマンドに置き換え可能です。

audit2allow -M mysqlnfs -i /var/log/audit/audit.log

※ いきなりモジュールを作成しなかった理由は不要なポリシーを排除するためです。