Rudy Ruckerの同名の著書とは直接関係ありませんが、私の思考の道具箱であることは確かです。大抵のページは書きかけで、内容も不完全ですのでご注意を。

Sharing files between two confined domains.
http://danwalsh.livejournal.com/24147.html

Sebastian Hennebruederの質問:

「Postfix(SMTPサーバ)とdovecot(IMAP/POP3サーバ)はお互いに認証鍵を共有しています。
SELinuxでは共有をどうしたらいいかわからなかったので、鍵のファイルをコピーして、それぞれの環境に置きました。でもこういうやりかたはしたくありません。共有した場合に報告されるメッセージをaudit2allowで処理して、ポリシーを修正すればよいのかもしれませんが、中身がわからないままやりたくありません。
最も望ましいのは、どちらのドメインからも利用できる新しい設定を作ることです。この場合、どうやって書き始めたらいいでしょう。簡単なことなのでしょうが、適当な情報が見当たりませんでした。」

新しくカスタムのポリシーモジュールを作るのは簡単です。自分ならこうする、というやり方をお教えしましょう。

まず mypostfix_dovecot.te というファイルを作ります。

policy_module(mypostfix_dovecot, 1.0)

gen_require(`
type postfix_t, dovecot_t;
')

type postfix_dovecot_cert_t;
files_type(postfix_dovecot_cert_t)

read_files_pattern(postfix_t, postfix_dovecot_cert_t, postfix_dovecot_cert_t)
read_files_pattern(dovecot_t, postfix_dovecot_cert_t, postfix_dovecot_cert_t)

このファイルから、 mypostfix_dovecot.fc を作ることができますし、semanage コマンドで下記のパスにfcontextを割り当てることができます。

/etc/pki/mycerts(/.*)? gen_context(system_u:object_r:postfix_dovecot_cert_t,s0)

これらをコンパイルします。

# make -f /usr/share/selinux/devel/Makefile

できたポリシーをインストールするには次のコマンドを実行します。

# semodule -i mypostfix_dovecot.pp

ポリシーをファイルのラベルづけに反映させます。

# restorecon -R -v /etc/pki/mycerts

これでおしまいです。
作った .pp (ポリシーファイル)は、他のマシンにコピーして使うことができます。上記の設定変更はサーバを再起動しても有効ですし、アクセスの方法を追加したければ、mypostfix_dovecot.te のファイルにインターフェースを追加すれば良いのです。

今回作ったポリシーを削除したい場合には、次のようにします。

# semodule -r mypostfix_dovecot

ポリシーの削除をファイルのラベル付けに反映させるのは次のコマンドです。

# restorecon -R -v /etc/pki/mycerts
タグ
×

この広告は60日間更新がないwikiに表示されております。

Wiki内検索

メニューバーA

ここは自由に編集できるエリアです。

フリーエリア

編集にはIDが必要です