▼なぜSamba上ではブリーフケースが使えないのだ?▼

[l16 xoxx xoxx]
-- 'cuz it knows nothing about system attribute.

$Id: index.html,v 1.7 1999-09-20 06:07:09+09 kabe Exp $

システム属性

一言でいうと、Sambaでは 「ディレクトリに対するシステム属性」を サポートしていないから、だそうです。 ファイルサーバーがNTなら使えるので、ちゃんとブリーフケースになります。

smb.conf で "map system = yes" としてもダメです。
このオプションはファイルのグループ実行属性 (chmod g[+-]x) をシステム属性と するものですが、ディレクトリには効きません 。 UNIX でディレクトリの実行属性をいじると ややこしいことになるので、現行の Sambaでは不用意な値をセットしない ようになっています。

ここいらへんの処理は source/smbd/dosmode.c:{dos_mode(),file_chmod(),unix_mode()} で行なっているので、改造しようと思えばできそうです。

ブリーフケースはコマンドプロンプトからは ただのディレクトリに見えます。 win32なファイルシステム上でも、真似しようと mkdir してから中身を移してもうまくいかないのは、システム属性が 立たないからです。

エクスプローラではなぜか灰色になっているのでセットできませんよ。 ファイルマネージャ(winfile.exe)か attrib コマンドでいじります。
[exploreでは灰色] [winfileではいじれる]
explorerでのプロパティ winfileでのプロパティ

やだやだやだ、ブリーフケースが欲しいんだぁ

ディレクトリ名を

	briefcase.{85BBD920-42A0-1069-A2E4-08002B30309D}
にすればとりあえず作れます。UNIX側だと汚く見えますけど。 この方法は 「移動プロファイルにするとデスクトップのブリーフケースがフォルダになるっス」 対策にも使えます。 …Win95 だと中身が移らないのであまし意味ないですけど(移るようにもできます)


応用編

任意の場所に「ごみ箱」を置きたい時は、

	ごみ箱.{645FF040-5081-101B-9F60-00AA002F954E}
なるディレクトリ(ファイルでもいいけど) を作る、というのは 良く Tips なんかにも出ています。 別に裏技でもなんでもなく、%windir%\tips.txt にも載っている 立派な表技です。 (…バグを利用しているだけのよーな気もしますが<そーゆーのを裏技というのでわ)

ただこれだと汚いファイル名がコマンドプロンプトからは丸見えです。 (ファイルマネージャでも見えます) %windir%\History や 普通に作ったブリーフケースなんかは そんなことはありません。

これを真似するには、

  1. まずフォルダを作る。
  2. フォルダの中に desktop.ini というテキストファイルをこしらえ、
    	[.ShellClassInfo]
    	CLSID={645FF040-5081-101B-9F60-00AA002F954E}
    
    と書き込んでおく。必要なら隠し属性を与えておく。 ファイル末尾は CRLF で終わってないといかんようです。
  3. attribかwinfile.exe でフォルダのシステム属性を立てる。
  4. エクスプローラを再起動。 (ログオフすればよい)
    キャッシュが効いているのか、再起動せんとうまく化けてくれません。
[きたない拡張子のない ごみ箱]


kabe@sra-tohoku.co.jp