SELinuxが有効なOracle Linux 6ホストには、MySQLをプライマリデータベースとして使用する製品があり、そのデータベースを介してアクセスしようとしています。これは/dev/shm
デフォルトでコンテキストと共にインストールされます。/dev/shm
tmpfs_t
もちろんmysqld_t
権利はありませんtmpfs_t
...
私の考えでは、最善の解決策はすでにアクセス可能であるため、mysqld_t
状況を特定して対話する権限を付与することです。tmpfs_t
mysqld_tmp_t
tmp_t
残念ながら、これはほとんどの文書よりSELinuxに深い影響を与えます。ほとんどのヒントには以下が含まれます。Red Hat エラー 306351/dev/shm
、としてインストールするためのインストールオプションを追加することを提案しました。私はこれが適切tmp_t
だと思います。tmpfs_t
/dev/shm
それではmysqld_t
、、、、などのアクセス権を付与する方法は何でしょうか?read()
write()
getattr()
setattr()
tmpfs_t
答え1
最良のオプションは手動で行うのではなく、より多くのSELinuxオートメーションを介して行うことです。
grep mysqld /var/log/audit/audit.log | grep shm | audit2allow -M mysql_tmpfs
semodule -i mysql_tmpfs.pp
これレビュー2許可(8)マニュアルページは、-M
引数が次の文字列を新しいモジュール名として使用することを示しています。その間SEモジュール(8)マニュアルページでまだ存在していないモジュール名を使用したいと思います。これにより、ワンタイムモジュールをより完全なモジュールに誤って交換するのを防ぎます。