• ベストアンサー

Fedora 10 での samba の複数の HDD の設定について

■ Fedora 10 での samba の複数の HDD の設定について [アクセス] windows XP ( Pro SP3 ) → Fedora 10 ※ PC 2台の HUB 接続 [samba のパッケージ] samba-3.2.4-0.22.fc10 ■ 質問内容 Fedora 10 の OS と同じパーティションでの samba とのアクセスは可能なのですが 別パーティションと別 HDD のアクセスが拒否されてしまいます。 同じパーティションなら Windows からのファイルの読み書きは 文字化けせずにアクセス可能です。 別パーティション ( 別 HDD ) に アクセスすると SELinux が AVC 拒否 と出ます ■ Fedora 10 のフォルダ構成とパーティションについて /home/user/folda1 ← アクセス可能 [同じパーティション] /folda2/folda2 ← アクセス不可 [別パーティション] /folda3/folda3 ← アクセス不可 [別 HDD ] ※ samba サーバーの設定は全て同じ ラベルを張り替えればアクセス可能だか何だかよく判らないのですが 端末で [ touch /.autorelabel; reboot ] してもアクセス出来ませんでした。 以下が SELinux が出したエラーです。 ※ 生の監査メッセージ 等は省いています よろしくお願いします。 ----------------------------------------------------------------------------- 要約: SELinux is preventing access to files with the default label, default_t. 詳細説明: SELinux permission checks on files labeled default_t are being denied. These files/directories have the default label on them. This can indicate a labeling problem, especially if the files being referred to are not top level directories. Any files/directories under standard system directories, /usr, /var. /dev, /tmp, ..., should not be labeled with the default label. The default label is for files/directories which do not have a label on a parent directory. So if you create a new directory in / you might legitimately get this label. アクセスを許可: If you want a confined domain to use these files you will probably need to relabel the file/directory with chcon. In some cases it is just easier to relabel the system, to relabel execute: "touch /.autorelabel; reboot" ソースコンテキスト system_u:system_r:smbd_t:s0 ターゲットコンテキストsystem_u:object_r:default_t:s0 ターゲットオブジェクト/ [ dir ] ソース smbd ソースパス /usr/sbin/smbd ポート <不明> ホスト linux ソース RPM パッケージ samba-3.2.4-0.22.fc10 ターゲット RPM パッケ filesystem-2.4.19-1.fc10 ポリシー RPM selinux-policy-3.5.13-18.fc10 Selinux 有効化 True ポリシータイプ targeted MLS 有効化 True 強制モード Enforcing プラグイン名 default ホスト名 linux プラットフォーム Linux linux 2.6.27.5-117.fc10.i686 #1 SMP Tue Nov 18 12:19:59 EST 2008 i686 i686

質問者が選んだベストアンサー

  • ベストアンサー
noname#74226
noname#74226
回答No.1

同一HDD内の領域や別HDDの問題ではなく、アクセス権限(パーミッション)設定の問題です。 次の順番で作業すればいいと思います。 何を行なったのか、をメモしておいて元に戻せるようにしておけばいいでしょう。 なお、/home/user/folda1にはアクセス可能なためFirewall設定は触れていません。 (1)folda3で試します。 /folda3/folda3のリンクフォルダを作成する。(nautilusファイルブラウザで/folda3/folda3を右クリック->「リンクの作成」でリンクフォルダが作成される) 作成したリンクフォルダを/home/user フォルダに移動する。(つまり/home/user/folda3が出来る。folda3はリンクフォルダ) 以上で/home/user/folda3 としてアクセスできるはずです。 folda2もfolda3と同じ要領で行なえばいい。 以上の作業で満足できる運用ならば(2)以降は行なう必要はない。 (2)SELinuxをオフ(無効)にする。 /etc/selinux/configファイルにて SELINUX=disabled とする。 PC再起動時にはSELinuxは無効になっている。 以上の作業で満足できる運用ならば(3)以降は行なう必要はない。 (3)上記(1)(2)では満足できない運用ならは ・(1)で作成したリンクフォルダは削除し、/folda2/folda2、/folda3/folda3に直接アクセスできるようにフォルダのアクセス権限を設定しなおす。 ・(2)でオフにした設定を元に戻し[AVC 拒否]を究明していくしかない。

phobos_k
質問者

お礼

回答ありがとうございます。 結論から申しますが、解決出来ました。 いささか無理やりな感じですが…。 ■ 試したこと ( 1 ) のやり方しか試していませんが、( 1 ) の リンクフォルダでは出来ませんでした。 ※ アクセス権は user と root 両方にあります リンクフォルダと /folda3/folda3 ともに。 たぶん ( 2 ) の SELinux は無効にすれば可能だと考えますが それは実用的でないと思いました。 ■ どう解決したか >同一HDD内の領域や別HDDの問題ではなく、アクセス権限(パーミッション)設定の問題です。 この言葉から閃きまして 再インストール ・HDD のパーティション設定  ・別パーティション + 別 HDD のファイル階層の変更  ( /home/user/folda2 と割り振る) ※ 作成予定のユーザー名の直下に作成 を行いました。 正確に書くと [以前] /home/user/folda1 ← 同じパーティション /folda2/folda2 ← 別パーティション /folda3/folda3 ← 別 HDD [現在] /home/user/folda1 ← 同じパーティション /home/user/folda2 ← 別パーティション /home/user/folda3 ← 別 HDD この方法で解決出来ました。 よく判らないのですが ターゲットオブジェクト / に セキュリティが引っかかってるだかなんだか… つまり / と同じ階層( root じゃないとマズイ所 )に パーティションを置くとセキュリティエラーになるのでは? と推測しました。 解決出来ましたので、ありがとうございました。

その他の回答 (1)

noname#208124
noname#208124
回答No.2

メニューからSELinux Managementを開く(無い場合yum install system-config- selinux') Allow samba to write files in directories labeled public_content_rw_t にチェックを入れる 正しくラベルを付ける chcon -R -t public_content_rw_t /folda2/folda2 chcon -R -t public_content_rw_t /folda3/folda3

phobos_k
質問者

お礼

再インストールしてしまって 解決できましたが、今後の HDD 増設時の 参考にさせて頂きます ありがとうございました。

関連するQ&A