FastCopy 掲示板


ALTStreamがコピーできていないのにエラーを報告しないことがある : izumi(10/8/9 12:57)
ini変更 : しろうず(10/8/11 01:16)
Re:ini変更 : izumi(10/8/11 23:19)
Re[2]:ini変更 : しろうず(10/8/22 15:28)
Re[3]:ini変更 : izumi(10/8/22 22:05)
[解決済み]ALTStreamがコピーできていないのにエラーを報告しないことがある : izumi(12/6/18 07:22)


返事を書く
1249 [1248] [1253]
Re:ini変更
izumi(10/8/11 23:19)

ご回答いただき、ありがとうございます。

> 次のバージョンでは、少なくとも副次ストリームはコピーできるようにしておきますね。

ん〜。これはACLのコピーに失敗しても「副次ストリームはコピーできるように」ということでしょうか。この意味でしたら、ちょっと待ってほしいです。
エクスプローラでファイルのコピーに失敗すれば、コピー先のファイルは自動的に削除されます。
処理に異常が発生してコピー先のファイルを保証できなくなったら元の(存在しない)状態に戻す、ということを、私は自然に感じます。
本件では、ユーザは「ACLとALTStreamをコピーしてほしい」と考えてオプションを指定しています。ここでALTStreamをコピーしてもACLのコピーは失敗するのですから、削除が自然な動作に感じます。また、削除するのですから、「少なくとも副次ストリームはコピーできるように」は違和感があるのです。

エラー表示については、別スレッドの記事番号1074でも説明していただきました。

ttp://ipmsg.org/bbs/bbs-fastcopy.cgi?id=&md=viw&no=1074&tn=1073
> デフォルトでは、ACL および AltStream関連のエラーは表示されません。
> (SAMBAのように ACL/Streamをサポートしないのに NTFS を名乗る場合があるため)

今回は、別の視点から考えました。「ACLのコピーは、ユーザが指定している」という点です。
SAMBAなど未対応ものに対してACLのコピーを指定しているのはユーザです。そのユーザに「ACLコピー」を解除させるのが自然、という考え方です。
「ファイルシステムがACL未対応ないのでエラーを無視している」と「ローカルドライブ間でACLコピーを指定しているのにコピーされず、しかもエラーも報告されない」では、失うものが違います。
前者の場合、「エラー表示がしつこい」と感じる人は対処方法を能動的に調べるでしょう。しかし後者の場合、ACLがコピーされていないことに気が付くのは、コピーしている時とは限りません。場合によっては、すでに元のファイルが存在しないこともあるでしょう。
fastcopy.iniにオプションを指定すれば表示されるということは過去にも教えていただきましたが、これを知らないユーザは、ACLコピーを指定したのに欠落していることを今もなお知らない可能性があるのです。
もう一度考えてください。FastCopyの[ACL属性]は、デフォルトでオフです。SAMBA越しのコピー時にオンにしているのはユーザです。そのユーザの設定を変更させることはおかしなことでしょうか。

私はFastCopyがACLを対象とした経緯を知らないのですが、
[ACL属性]がオンになっている場合は、コピー先のアクセス権(WRITE_OWNER/WRITE_DAC)を事前にチェックしておく、という実装は採れなかったのでしょうか。
私が良く例に挙げる「c:\_tmp」や、SAMBAなど、コピー処理の前に異常発生を予測できたと思うのですが。

---
> ところで、FastCopyは標準では、ACL および AltStream関連のエラーを出力しません。

意識がずれているような気がするので、少し確認させてください。
下記の手順によりコピーすると、アクセス拒否が発生し、FastCopy(2.01)からエラーが報告されます。
これは「ACL および AltStream関連のエラー」ではない、という判断なのでしょうか。それとも実装上の不具合なのでしょうか。

1. Cドライブのルート直下に「_tmp」というフォルダを作成
2. 管理者権限でコマンドプロンプトを開き、以下のコマンドを実行
    fsutil file createnew c:\_tmp\dummy2.bin 65537
    icacls c:\_tmp\dummy2.bin /grant:r Guest:R
3. UAC仮想化を含みfastcopy.iniが存在しないことを確認
4. FastCopy.exeを通常権限で起動
5. [ACL属性]のみをオン状態に変更
6. [Source]に2で生成したファイルを、[DestDir]に「c:\_tmp\」を指定して実行


[ FastCopy のページ / 利用方法 / 一覧表示 / 最新記事 / 新規投稿 / 管理用 ]

掲示板管理者 email : FlasH BBS Pro v1.41 [Shigeto Nakazawa]