質問: LinuxからWindowsの共有フォルダをマウントし、 ・ショートカットの作成 ・所有者やその他属性を保持したままのファイルコピー をする方法を教えてください。 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
回答: CIFSのプロトコルを見ると ファイルの属性として、以下のものしかないので Unix/ Linux 側からシンボリックリンクは作れません。 0x01 Read-only file 0x02 Hidden file 0x04 System file 0x08 Volume 0x10 Directory 0x20 Archive file Windows のショートカットは、あれは実際は決まった形式のファイルで、拡張子が .lnk になっているだけです。 ショートカットの中の形式についてはこちらをご覧ください。 また、隠しファイルなどの Windows や MS-DOS にあってUnixにない属性はコピーできません。 これは CIFS に限らず、HDD繋いでFATやNTFSの読み書きをしたときにも同じです。 所有者情報の変更などは、CIFS のドキュメント読んだ感じでは見つかりません。 また、NFS を含むネットワーク越しに共有するファイルシステムの場合、exportするときのユーザIDを指定できたりするので、Windows側でそのような指定が必要かもしれません。 あと Unix 側の chown(2) などによる所有者変更時には、ファイルシステムにユーザ名 (例: mayokoi) でなくユーザID (uid_t : ほぼ integer) を設定するので、Windows側とUnix側でパスワード情報を一致させなければならない、とか、いろいろあります。