2006年4月11日

[selinux-users:01504] Re: Sambaでユーザーホーム以下にディレクトリを作れない

古田です。

> 海外さんの内容でわからなかったのは
> policy というディレクトリがどこにあるか、というのが読み取れず
> 戸惑ってしまいました...

海外さんの書かれているのはSRPMをダウンロードした上でパッチをあててリビルドする方法です;-)

> # 1行目の malloc ... 部分はエラーが出ましたが
> # なんだかわかりません、削りました。

すみません。
これはvmware-consoleとglibcのワークアラウンドのために"export MALLOC_CHECK_=1"を環境変数
に指定しているので出力されていたものです。
なので、Okimotoさんの作業されたように以下が正しいです。

- samba_add.te の内容 --
policy_module(samba_add,1.0.0)

require {
type smbd_t;
attribute user_home_type;
}

allow smbd_t user_home_type:dir manage_dir_perms;
-- ここまで --

> 結局の所私に必要だった情報って何だったんだろう、という疑問を持ちつつ
> とりあえず利用できるようになりました。

manage_dir_permsは以下のようにディレクトリに対する全て(かな?)の操作を許可するマクロです。

http://zchan.homeunix.net/lxr/source/policy/support/obj_perm_sets.spt?v=refpolicy-20060322#203
-- policy/support/obj_perm_sets.spt --
203 define(`manage_dir_perms',`{ create getattr setattr read write link unlink rename search add_name remove_name reparent rmdir lock ioctl }')
-- ここまで --

今回はsmbd_t(sambaのプロセス)に/home/(ユーザ)のセキュリティコンテキスト(user_home_t)を含んだuser_home_typeへの操作を許可しています。

http://zchan.homeunix.net/lxr/source/policy/modules/system/userdomain.if?v=refpolicy-20060322#523
-- policy/modules/system/userdomain.if --
523 typeattribute $1_home_t user_home_type;
-- ここまで --

> 1.root ホームディレクトリに samba_add.te を記述
>  samba_add.if と samba_add.fc という空ファイル作成
> 2./usr/share/selinux/devel のメイク
> 3./usr/sbin/semodule -i samba_add.pp でポリシーを追加
> 4./usr/sbin/semodule -l で追加されたポリシーを閲覧
>
> で合ってますか?

ほぼ大丈夫かと思いますが、2.はusr/share/selinux/develにある
Makefileで/usr/share/selinux/targeted/以下を読み込んで
samba_addのポリシーファイル(samba_add.pp)を作成しています。

> □1.の .te なファイルの記述は、どこでやってもいいものなのか
>  ログインユーザーのホームでなければならないのか

どこでもよいと思います。/tmpでもよいはず(未確認)。

> □2.の/usr/share/selinux は、以前 /etc/selinux/targeted/src
>  などに格納されていたファイル群が移動されたものなのか

です。ReferencePolicyは少しレイアウトが変わってsourceなしでもポリシーが
コンパイルできるようになっています。

Noriaki Okimoto wrote:
> こんにちは、Noriaki Okimotoです。
> 海外さん、古田さん、ご教示ありがとうございます。
>
>
> 海外さんの内容でわからなかったのは
> policy というディレクトリがどこにあるか、というのが読み取れず
> 戸惑ってしまいました...
>
>
> 古田さんの書いた内容を盲目的に動かしてみたら
> 結構すんなり行ってしまって拍子抜けです。
>
> # 1行目の malloc ... 部分はエラーが出ましたが
> # なんだかわかりません、削りました。
>
> 結局の所私に必要だった情報って何だったんだろう、という疑問を持ちつつ
> とりあえず利用できるようになりました。
>
> 1.root ホームディレクトリに samba_add.te を記述
>  samba_add.if と samba_add.fc という空ファイル作成
> 2./usr/share/selinux/devel のメイク
> 3./usr/sbin/semodule -i samba_add.pp でポリシーを追加
> 4./usr/sbin/semodule -l で追加されたポリシーを閲覧
>
> で合ってますか?
>
> □1.の .te なファイルの記述は、どこでやってもいいものなのか
>  ログインユーザーのホームでなければならないのか
>
> □2.の/usr/share/selinux は、以前 /etc/selinux/targeted/src
>  などに格納されていたファイル群が移動されたものなのか
>
> という疑問がわきました。
>
>
> 本当にどうもありがとうございました。
>
>

--
Masaki Furuta
http://zchan.homeunix.net/zwiki/

投稿者 xml-rpc : 2006年4月11日 01:52
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/34653
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。