風柳メモ

ソフトウェア・プログラミング関連の覚書が中心。

Linux PCの外付HDDへのWindowsからのアクセスが制限される?

現象

【(A)HDD(NTFSフォーマット)】−<USB>−【(B)Linux PC(Fedora 12)】…<LAN>…【(C)Windows PC(Windows 7)】

外付けUSB HDD(NTFSフォーマット)(A)を、Linux PC(B)上で /mnt/exthdd に mount し、このディレクトリを Samba で共有して、Windows PC(C)からそのディレクトリ下層へとアクセスしようとすると、一部機能に制限が出てしまいました。

項目 可(○)/不可(×) 備考(Windows 7のダイアログ)
ファイル作成  
ファイル編集  
ファイル削除  
ファイル名変更 × ファイル アクセスの拒否
この操作を実行するアクセス許可が必要です。
このファイルを変更するには、Unix User\root からアクセス許可を得る必要があります。
フォルダ作成 × 対象のフォルダーへのアクセスは拒否されました
この操作を実行するアクセス許可が必要です
フォルダ名変更 × ファイル アクセスの拒否
この操作を実行するアクセス許可が必要です。
このファイルを変更するには、Unix User\root からアクセス許可を得る必要があります。
フォルダ削除 × ファイル アクセスの拒否
この操作を実行するアクセス許可が必要です。
このファイルを変更するには、Unix User\root からアクセス許可を得る必要があります。

どうやらSELinuxが起因しているらしい

Linux PC(B)上で、

# getenforce
Enforcing

のように、SELinuxは有効なので、試しに、

# setenforce 0
# getenforce
Permissive

に変更してみると、上記の制限がなくなった。
ただ、さすがに SELinux を無効化したままにしておくわけにはいかないし……。

とりあえずの対処

# setsebool -P samba_export_all_rw on

により、SELinux は有効にしたままで、上記問題はひとまず解決した……が、本当にこのやり方がよいのかな?もっと適切な方法ご存知の方はおられないだろうか……。