・ショートカットの作成
・所有者やその他属性を保持したままのファイルコピー
をする方法を教えてください。
CentOS5でCIFSでマウントして試してみましたが
ショートカット: ln -sf → サポートされてないと言われて失敗
コピー: cp -p → 所有者や隠しファイルなどの属性が保持されない
という動きでした。
fstabは以下のような内容です。
//192.168.0.2/SharedDocs /mnt/win cifs username=user,password=pass,rw,codepage=cp932,iocharset=utf8,rw,defaults,0,0
・ショートカットの作成
Linux において Windows のショートカットと同様の物は存在しないので通常の手段では無理です。
Windows のショートカットの実態はショートカット先の情報を持った「ファイル」なのでその様なファイルを
作成できるソフトがあれば別ですが、寡黙にして聞いたことがありません。
・所有者やその他属性を保持したままのファイルコピー
こちらも Linux と Windows で権限の管理方法が全く違うので無理です。
最近の Linux でもファイルシステムによっては ACL をサポートしつつありますが、
それでも Windows と完全な互換性は取れていません。
・ショートカットの作成
Linux において Windows のショートカットと同様の物は存在しないので通常の手段では無理です。
Windows のショートカットの実態はショートカット先の情報を持った「ファイル」なのでその様なファイルを
作成できるソフトがあれば別ですが、寡黙にして聞いたことがありません。
・所有者やその他属性を保持したままのファイルコピー
こちらも Linux と Windows で権限の管理方法が全く違うので無理です。
最近の Linux でもファイルシステムによっては ACL をサポートしつつありますが、
それでも Windows と完全な互換性は取れていません。
なるほど。できないことが、理解できました。ありがとうございます。
CIFSのプロトコルを見ると
http://msdn.microsoft.com/en-us/library/aa302202.aspx
ファイルの属性として、以下のものしかないので Unix/ Linux 側からシンボリックリンクは作れません。
0x01 Read-only file
0x02 Hidden file
0x04 System file
0x08 Volume
0x10 Directory
0x20 Archive file
Windows のショートカットは、あれは実際は決まった形式のファイルで、拡張子が .lnk になっているだけです。 ショートカットの中の形式についてはこちらをご覧ください。
http://yowaken.dip.jp/tdiary/20060829.html#p01
また、隠しファイルなどの Windows や MS-DOS にあってUnixにない属性はコピーできません。 これは CIFS に限らず、HDD繋いでFATやNTFSの読み書きをしたときにも同じです。
所有者情報の変更などは、CIFS のドキュメント読んだ感じでは見つかりません。 また、NFS を含むネットワーク越しに共有するファイルシステムの場合、exportするときのユーザIDを指定できたりするので、Windows側でそのような指定が必要かもしれません。 あと Unix 側の chown(2) などによる所有者変更時には、ファイルシステムにユーザ名 (例: mayokoi) でなくユーザID (uid_t : ほぼ integer) を設定するので、Windows側とUnix側でパスワード情報を一致させなければならない、とか、いろいろあります。
回答ありがとうございmす。やはり難しいようですね。
あきらめて、Windowsから直接操作する方向で対応しようと思います。
なるほど。できないことが、理解できました。ありがとうございます。