Mac OS X Leopard (10.5!)の MacBookをファイル共有のために、
使っている。
職場ではWindowsが多いので、WinとMacはSMBで共有している。
Winで作業して、できたものをMacの共有フォルダに投げておくということが
あるのだけど(NAS的、外部ストレージ的な使い方)、まれに、Macから
Winにファイルをコピーしようとすると、
「ファイルハンドルが無効です」
と出て、ファイルがコピーできないときがあった。
1年ぐらい放置してたのだけど、解決したので、書いておく。
パーミッションは問題ないけど、パーミッションの横に変な@がついてるのが
気になっていた。
-rwxr-xrwx@ 1 user staff 286862 10 2 2014 sample.pdf
この@はExtended Attributesに起因するものらしく、それが悪さしているようだった。
下記のページが非常に参考になった。
ためしに、「ls -l@」コマンドでどんなExtended Attributesがあるのか見てみると
user$ ls -l@
-rwxr-xrwx@ 1 user staff 286862 10 2 2014 sample.pdf
:ZONE.IDENTIFIER:$DATA 26
と、確かに「:ZONE.IDENTIFIER:$DATA」というなんじゃそりゃ?な
アトリビュートがついていた。
これを消す。
user$ xattr -d :ZONE.IDENTIFIER:$DATA sample.pdf
No such xattr: ZONE.IDENTIFIER:
失敗。$マークが悪さしてる?と思って、バックスラッシュでエスケープ。
user$ xattr -d :ZONE.IDENTIFIER:\$DATA sample.pdf
としたら、エラーがでず。試しにコピーしてみたらできた!
ということで、この @ を消せばよかった。