電子書籍の厳選無料作品が豊富!

■ 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

A 回答 (2件)

同一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 拒否]を究明していくしかない。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
結論から申しますが、解決出来ました。

いささか無理やりな感じですが…。

■ 試したこと

( 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 じゃないとマズイ所 )に
パーティションを置くとセキュリティエラーになるのでは?

と推測しました。

解決出来ましたので、ありがとうございました。

お礼日時:2008/12/20 14:12

メニューから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
    • good
    • 0
この回答へのお礼

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

ありがとうございました。

お礼日時:2008/12/20 14:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!