[samba-jp:19684] Re: :(コロン)を名前に含むフォルダを作成したい

HAT hat @ fa2.so-net.ne.jp
2007年 8月 30日 (木) 01:59:07 JST


HATです。

>■解決したい事
>件名に書いた通り、コロン(:)を名前に含むフォルダを作成したいと 
>考えております。Windowsでは出来ませんが、Mac OS Xは 
>コロンをファイル名に使えます。

MacOSではファイル名/フォルダ名に「:」は使えません。
HFSやafpの仕様を調べると書いてありますが、Macのファイルシステムで
禁止の文字は、2つ。
表示可能文字の「:」と制御文字の「NULL」です。
「:」が何故禁止かというと、パスのデリミタだからです。

これに対し、UNIXで禁止の文字は「/」です。パスのデリミタだからです。

ご存知だと思いますが、MacOSXはUNIX系であるOS(Darwin)の上で動くOSです。
Finder上で「/」に見えるファイル名は、Terminal上のbashとかcshとかでは
「:」に見える筈です。
MacOSとDarwinでそれぞれ使えない文字「:」「/」を入れ換えて矛盾に対処
しています。

で、今回の場合、Darwinで「:」に見えて、Finderで「/」に見える文字の
事を指していると解釈し、話をすすめます。

Windowsでファイル名に使えない文字は9文字です。
\/:*?"<>|
理由は、DOSの時代にcommand.comが予約していた文字だからだと思います。

MacOSXからsmbに対してこれらの文字を含むファイル名を作ろうとすると
必ずエラーになります。
この現象について、Etherealで解析したことがあります。
MacOSXからsmbに対して「\/:*?"<>|」を含むファイル名を作ろうとしても、
サーバにパケットが飛びません。
つまり、MacOSXがsmbを使う時、「\/:*?"<>|」を含んでいるファイル名を見て、
自分であきらめてエラーを表示し、サーバにはパケットを送らないわけです。
だから、samba側でいくら設定を変えたところで解決しません。

目的を達成するためにはsmb以外のプロトコルを使う必要があります。
具体的にはafp(netatalk), NFS, WebDAV, ftp等があると思います。
netatalkではコロンを使える事を確認しています。
それ以外は試してないのでわかりません。

-- 
HAT



samba-jp メーリングリストの案内