現象
【(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 は有効にしたままで、上記問題はひとまず解決した……が、本当にこのやり方がよいのかな?もっと適切な方法ご存知の方はおられないだろうか……。