none
アクセス許可エントリの削除動作について RRS feed

  • 質問

  • いつもお世話になっています。

    環境:Windows Server 2008 R2 SP1

    ファイルサーバーのアクセス許可エントリについてご質問があります。

    「Aフォルダ」内にサブフォルダ「A’フォルダ」「Aファイル」があり、「A’フォルダ」には「A’ファイル」があると考えてください。

    Aフォルダ(適用先:このフォルダとサブフォルダ 「サブフォルダとファイルの削除」「削除」→許可なし)

      |    (適用先:ファイルのみ 「削除」→許可)

        |---A'フォルダ

      |         |--------A'ファイル

      |---Aファイル

    上記ようなアクセス権限を付与しており、

    ・「A’フォルダ」を削除した場合、削除動作は「A'ファイル」が削除され、「A’フォルダ」はそのままとなります。

    ここで、ご質問なのですが、

    「A’フォルダ」を削除した場合、「A’フォルダ」「A'ファイル」ともに削除されず。

    「Aファイル」「A’ファイル」ファイル単体では削除できる方法はございますでしょうか?

    ご回答のほど、よろしくお願いします。




    • 編集済み AIS-WD 2013年1月23日 4:12
    2013年1月23日 4:07

回答

  • エクスプローラが先にファイルを消そうとするのなら、アクセス権がある以上、基本的にはどうしようもないと思います。

    エクスプローラの削除動作をすげ替えるプログラムを作るか、
    あるいは、場当たり的ですが、エクスプローラがフォルダ削除時に最初に削除しそうなダミー ファイルをつくっておいて、そのファイルだけ削除できないアクセス権にしておいて邪魔するとか(^^;)、
    しかないのでは。

    • 回答の候補に設定 星 睦美 2013年1月29日 1:30
    • 回答としてマーク 星 睦美 2013年2月1日 5:14
    2013年1月23日 9:40

すべての返信

  • こういうことでしょうか?

    P:\>icacls A
    A NT AUTHORITY\Authenticated Users:(OI)(IO)(D)
      NT AUTHORITY\Authenticated Users:(OI)(CI)(RX,W)
      NT AUTHORITY\SYSTEM:(OI)(CI)(F)
      BUILTIN\Administrators:(OI)(CI)(RX,W,WDAC,WO)

    2013年1月23日 5:01
  • icaclsにて状態を確認したところ、以下の通りでした。

    DOMAIN\TESTG1:(OI)(CI)(RX,WD,WEA,WA) ←アクセス権限を行いたいドメイングループ
    NT AUTHORITY\SYSTEM:(OI)(CI)(F)
    BUILTIN\Administrators:(OI)(CI)(F)
    DOMAIN\administrator:(OI)(CI)(F)
    DOMAIN\TESTG1:(OI)(IO)(M) ←アクセス権限を行いたいドメイングループ

    また、色々テストした結果、

    適用先:このフォルダ、サブフォルダおよびファイル 「サブフォルダとファイルの削除」→拒否

    DOMAIN\TESTG1:(OI)(CI)(DENY)(S,DC) ←追加 

    DOMAIN\TESTG1:(OI)(CI)(RX,WD,WEA,WA)
    NT AUTHORITY\SYSTEM:(OI)(CI)(F)
    BUILTIN\Administrators:(OI)(CI)(F)
    DOMAIN\administrator:(OI)(CI)(F)
    DOMAIN\TESTG1:(OI)(IO)(M)

    を追加したところ、Windows7 SP1では、サブフォルダ内のファイルが消えてしまう現象が回避でき、

    ファイル単体の削除も可能でした。

    しかし、Windows XP SP3では、いまだにサブフォルダ内のファイルが消えてしまう状態です。

    Hotfixや改善提案などございましたら、

    ご回答の程、よろしくお願いします。



    • 編集済み AIS-WD 2013年1月23日 6:59
    2013年1月23日 6:06
  • エクスプローラでの話でしょうか?

    API 的には、フォルダを削除するには、まずフォルダを空にする(≒ファイルを消す)必要があります。
    Windows XP のエクスプローラはそういう内部事情に忠実な動作なのかもしれないですね。(確かめてません)

    2013年1月23日 8:27
  • ご返答ありがとうございます。

    エクスプローラの話です。

    現状の状態は変わっていないのですが、

    A'フォルダを削除した際のメッセージ画面がWindowsXPとWindows7異なるため情報として記載します。

    Windows7の場合、

    【フォルダーアクセスの拒否】

    「この操作を実行するにはアクセス許可が必要です。このフォルダーを変更するには、”ドメインユーザー名”からアクセス許可を得る必要があります。」 

    と表示され、フォルダはそのまま・フォルダ内のファイルは削除されていません。

    WindowsXPの場合、

    【ファイルまたはフォルダの削除エラー】

    「"フォルダ名"を削除できません。アクセスできません。ディスクがいっぱいでないか、書き込み禁止になっていないか、またはファイルが使用中でないか確認してください。」

    と表示され、フォルダはそのまま・フォルダ内のファイルが削除されている。

    このような状態です。

    ご回答の程、よろしくお願いします。

    

    2013年1月23日 9:17
  • エクスプローラが先にファイルを消そうとするのなら、アクセス権がある以上、基本的にはどうしようもないと思います。

    エクスプローラの削除動作をすげ替えるプログラムを作るか、
    あるいは、場当たり的ですが、エクスプローラがフォルダ削除時に最初に削除しそうなダミー ファイルをつくっておいて、そのファイルだけ削除できないアクセス権にしておいて邪魔するとか(^^;)、
    しかないのでは。

    • 回答の候補に設定 星 睦美 2013年1月29日 1:30
    • 回答としてマーク 星 睦美 2013年2月1日 5:14
    2013年1月23日 9:40
  • そうですか

    エクスプローラの動作に関わってくるので、やはり難しいことはできそうにないですね。

    ありがとうございました。

    HomeClosetさんの場当たり的な案をテストしてみましたが、文字コードのトップにくる文字が最初に削除されるみたいですね。

    デフォルトでは「!」でした。

    ただ、階層内のフォルダ数が多いことからやはり採用は難しいと思います。

    また、気付きがあれば教えてください。よろしくお願いします。


    • 編集済み AIS-WD 2013年1月23日 10:28
    2013年1月23日 10:28
  • わだAIS さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    HomeCloset さんの回答からヒントを得ることができたようですので、
    勝手ながら私のほうでスレッドに[回答としてマーク] させていただきました。

    それでは今後ともTechNet フォーラムをよろしくお願いします。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美

    2013年2月1日 5:19