Tipsカテゴリ
プログラムTips ※Tips一覧はこちら
 
■ フォルダ・ファイルの属性とACLのまとめ (2007/05/09)

ファイルに対する書き込み権限をプログラム上から制御したいのであれば、下記の内容を踏まえておく必要があります。特に、「エクスプローラ上から正常に制御できる≠プログラム実行時に正常に制御できる」に注意する必要があります。実際の動作に関しては、エクスプローラよりもプログラムのほうが下記条件に忠実に動くように感じられます。

[DOS時代からあるファイル・フォルダの属性]
 4種類ある。(NTFS・Windows2000以降は他に圧縮属性や暗号化属性が存在する)

RO(読み取り専用)
   ファイル:書き込みできなくする。移動・削除は可能。
    フォルダ:変化なし。
 System(システム)
   ファイル:書き込み可。移動・削除は可能。
   フォルダ:変化なし。
 Hidden(隠し属性)
   ファイル:見えなくなる(設定によっては見える)。書き込み・移動・削除可。
   フォルダ:見えなくなる(設定によっては見える)。書き込み・移動・削除可。
 Archive(アーカイブ属性)
   ファイル:変化なし。
   フォルダ:変化なし。
   ※Windowsのバックアップユーティリティ用のフラグ。バックアップ対象であることを示す。

[ACL(アクセス制御リスト) ※NTFSのみ]
 http://support.microsoft.com/kb/308419/jaに詳細が記述されています。
 上記リンクによると、アクセス許可には大きく分けて6種類あり、それをさらにカスタマイズできます(「特殊なアクセス許可」)。
 その上、それをユーザーやグループ毎に設定できます。
 さらに、その設定を子フォルダやファイルに継承するかどうかも設定できます。
 かなり複雑な設定が可能。

 フルコントロール
  全ての操作が可能。
 変更
  下記のことができない以外はフルコントロールと同じ。
   × サブフォルダとファイルの削除
   × アクセス許可の変更
   × 所有権の取得
 読み取りと実行(ファイルとフォルダ両方に継承される)
  作成・書き込み・追加・削除ができない。できるのは、
   ○ フォルダのスキャン/ファイルの実行
   ○ フォルダの一覧/データの読み取り
   ○ 属性の読み取り
   ○ 拡張属性の読み取り
   ○ アクセス許可の読み取り
   ○ 同期
 フォルダの内容の一覧表示(フォルダにのみ継承される)
  「読み取りと実行」に同じ
 読み取り
  「読み取りと実行」のうち、下記ができません。
   × フォルダのスキャン/ファイルの実行
 書き込み
  読み取り・削除・実行はできず、書き込み・追加が可能。できるのは、
   ○ ファイルの作成/データの書き込み
   ○ フォルダの作成/データの追加
   ○ 属性の書き込み
   ○ 拡張属性の書き込み
   ○ アクセス許可の読み取り
   ○ 同期 

カテゴリ:コーディング

 
 
Copyright(c) 2007-2017 ISCS All rights reserved.