QA@IT

FreeBSDによるSMB, AFP, FTPでの単一ディレクトリ同時共有方法

2269 PV

LAN上にあるFreeBSDサーバ上の特定のディレクトリをWindows, MacOSXから利用し、
なおかつFTPでも手元での余分な処理(リソースファイル削除)をせず読み書きしたいと思っています。
FreeBSD9.0R[必須] + ports群(samba, netatalk, pureftpd)[変更可]の環境で実現したいです。

経過/試行等

(日本語ファイルも置くためファイル名の文字コードはUTF8(NFC)に統一したい)
 まず、sambaとpuerftpdだけで実現しようとしました。これはうまくいくように
思えましたが、MacOSXからは(smb://の際)ファイルが大量になったりネストが深くなると
誤認(空のディレクトリになる等)されるケースが多く、MacOSX用のやり方を
考えなければなりませんでした。
 ここでNFSを検討しましたが、UTF8(NFC)への変換ができないので諦めました。
 そこでAFPが使えてUTF8(NFC)への変換もできるnetatalkを追加しましたが、
現行バージョン(2.2.2)では.AppleDoubleなどが作成されます。sambaでは
voteなどでそもそもWindows側には見せない&意識させないようにできるの
ですが、FTP(pureftpd)でファイルをやりとりする際に見えるし邪魔になるしで
転送後にスクリプトやバッチファイルなどでゴミ消去する手間がかかってしまいます。
 netatalkではnoadoubleというオプションがあり、「必要なければ.AppleDoubleを
作らない」という設定にすることができるのですが、必要ある場合は当然作成されて
しまいます。
 現在はAFP共有をreadonlyにしてnetatalkによるファイル生成を防止することで
対応しています。もちろん、これではMacOSXからは書き込みができない状態です。

希望

  • SMB, AFP, FTPの全てで、ユーザにnetatalk由来の.AppleDouble等を意識させないようにしたい
  • 日本語ファイルも置くためファイル名の文字コードはUTF8(NFC)に統一したい

以上、よろしくお願いいたします。

試行環境

  • FreeBSD9.0R
  • samba36-3.6.5(ports)
  • netatalk-2.2.2_1,1(ports)
  • pure-ftpd-1.0.36(ports)
  • Windows7SP1(32bit/64bit)
  • MacOSX10.7.4
  • Mac側からはcifs(samba)で接続する方法では駄目な理由はありますか? -
  • 経過/試行等の最初にありますように、ファイル数やディレクトリの深さ等で"ディレクトリが空"とされる挙動が起きたりしてしまいます。sambaは3系、osx10.6でも10.7でも起きます。 -
  • すいません。端折りすぎました。osxから接続する場合に smb:// で接続する場合と cifs:// で接続する場合とでは挙動が違うのですが、質問の内容からはどちらで接続していたかが分からなかったので質問させて頂きました。細かいことですいません。 -
  • すみません。"cifs"を認識していませんでした。確かにsmb://だけでやっていました。cifs://で接続してみましたところ、以前0バイト判定されてたディレクトリが正常表示されていました。ありがとうございます。 -
  • 確認ありがとうございました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。