Windows の NTFS アクセス権の種類
Windows の NTFS アクセス権には、『基本のアクセス許可』と『高度なアクセス許可』が存在します。
高度なアクセス許可には 13 種類のアクセス権があり、全てが許可された状態を『フルコントロール』と呼びます。
また、その 13 種類の組合せのうち、基本的によく使われる組合せを基本のアクセス許可として用意しています。
そしてその基本的な組み合わせとは異なる組合せのものを『特殊なアクセス許可』と呼びます。
※なので特殊なアクセス許可がチェックできないのは当然です。高度なアクセス許可で基本的な組み合わせと異なる場合に勝手にチェックが付きます。
アクセス許可の種類はファイルへの適用時とフォルダへの適用時で意味が異なるものがあります。
基本のアクセス許可
基本のアクセス許可の一覧とそれぞれの意味を以下に示します。
基本のアクセス許可 | ファイルへの適用時 | フォルダへの適用時 |
フルコントロール | 全ての操作が可能 | |
変更 | 所有権の変更およびアクセス権の変更以外の操作が可能 | |
読み取りと実行 | ファイルの読み取りと実行が可能 (実行には読み取りが必要) | フォルダへのアクセスおよびその フォルダの内容の一覧表示が可能 |
フォルダーの一覧表示 | 存在しない | |
読み取り | ファイルの読み取りが可能 (実行は不可) | |
書き込み | ファイルへの書き込みが可能 属性への書き込みも可能 | そのフォルダ配下にファイルや フォルダの作成が可能 属性への書き込みも可能 |
特殊なアクセス許可 | 高度なアクセス許可の組合せが特殊な場合 |
高度なアクセス許可
高度なアクセス許可の一覧とそれぞれの意味を以下に示します。
高度なアクセス許可 | ファイルへの適用時 | フォルダへの適用時 |
フォルダーのスキャン /ファイルの実行 | プログラムとして起動可能 | そのフォルダの1つ下のフォルダ へのアクセスが可能 |
フォルダーの一覧 /データの読み取り | ファイルのデータ領域を閲覧可能 | そのフォルダ内へのアクセス および一覧表示が可能 |
属性の読み取り | Time Stamp等の属性情報を閲覧可能 | |
拡張属性の読み取り | 拡張属性($EA)を閲覧可能 | |
ファイルの作成 /データの書き込み | ファイルへの書き込みが可能 | そのフォルダ配下にファイルの 作成が可能 |
フォルダーの作成 /データの追加 | ファイルへの追記が可能 (上書き保存は不可) | そのフォルダ配下にフォルダの 作成が可能 |
属性の書き込み | Time Stamp等の属性情報を書き込み可能 | |
拡張属性の 書き込み | 拡張属性($EA)を書き込み可能 | |
サブフォルダーと ファイルの削除 | 存在しない | そのフォルダ配下のフォルダと ファイルの削除が可能 |
削除 | そのファイル自体の削除が可能 | そのフォルダ自体の削除が可能 |
アクセス許可 の読み取り | アクセス権情報の読み取りが可能 | |
アクセス許可の変更 | アクセス権の変更が可能 | |
所有権の取得 | 所有権の変更が可能 |
『フルコントロール』と『変更』の違い
『フルコントロール』が全ての権限を与えられるのに対し、『変更』では「所有者の変更やアクセス権の変更」が出来ません。
つまり、フルコントロールではなく『変更』権限に落とすことで、ファイルやフォルダのアクセス権を勝手に変えさせない、という制限を課すことができます。
ただし、この設定については NTFS アクセス権で設定しても効果が無いです。
というのも、ファイル/フォルダを作成したユーザは、そのファイル/フォルダの「所有者」となり、「所有者」はアクセス権設定に関係なく、アクセス権を変更できるからです。
なのでこのようなケースでは SMB/CIFS 共有アクセス権で『変更』を設定することで解決できます。
詳細は以下をご参照下さい。『所有者』と混同されがちな『CREATOR OWNER』の考え方についても整理しています。
『フォルダーのスキャン』と『フォルダーの一覧』の違い
『フォルダーの一覧』はそのフォルダーへのアクセスおよびそのフォルダ内のフォルダ/ファイルを一覧表示する権限です。
一方、『フォルダーのスキャン』とは、そのフォルダーを横断する権限です。
例えば t.taro というユーザに対して "C:\Project-X\Task1" へのフルコントロールを与えるときの制約条件として、 t.taro には "C:\Project-X" 配下の Task1 以外のフォルダーは見せたくないし、アクセスさせたくない、というケースを考えます。
このとき、"Project-X" のフォルダーへのアクセス権として『フォルダーのスキャン』のみを与えます。すると t.taro は エクスプローラで "C:\Project-X\Task1" のパスを直接指定することで、Project-X を横断し、Task1 へアクセスができるようになります。
なお、注意点として、これはあくまで Windows ログインしたローカルマシン内の操作についての話です。
CIFS によるリモートアクセスの場合、実はこの『フォルダーのスキャン』はわざわざ付ける必要はありません。
具体的には、"C:\Project-X" を共有名 "Project-X" で CIFS アクセス出来る状態にした場合、t.taro に "C:\Project-X\Task1" へのフルコントロール等を与えておけばよく、"C:\Project-X"に対して『フォルダーのスキャン』の権限を与える必要はありません。
『サブフォルダーとファイルの削除』と『削除』の違い
t.taro に対して "C:\temp" への『サブフォルダーとファイルの削除』権限を与えた場合、その配下のファイル (例えば "C:\temp\test.txt") やフォルダは削除可能となります。
一方、t.taro に対して "C:\temp" への『サブフォルダーとファイルの削除』権限が無い場合であっても、"C:\temp\test.txt" に対して『削除』権限が与えられている場合はこのファイルを削除できます。
どちらか一方が与えられてれば OK なのです。
『データの書き込み』と『データの追加』の違い
『データの書き込み』は上書き保存が可能であるのに対し、『データの追加』は上書き保存ができません。ログファイルにどんどん追記していくような操作は『データの追加』権限のみで事足りますが、Word や Excel 等、ユーザが手動で利用するプログラムのほとんどではデータを追記しようとしても保存時に "上書き保存" することになりますので、どうしても『データの書き込み』権限が必要になります。
『アクセス許可の読み取り』と『所有権の変更』について
『アクセス許可の読み取り』の権限が無い場合、アクセス権設定を見ようとすると、以下のように『このオブジェクトのプロパティを表示するには、読み取りアクセス許可が必要です』と表示されます。
また、この場合、『詳細設定』をクリックすると以下のように表示されます。
『現在の所有者を表示できません。』となりますが、このとき『所有権の取得』の権限がある場合は上記の『変更』リンクをクリックし、自分のユーザ名を指定することで所有者を自分にすることができます。
コメント
参考になりました。記事の各々についてそれ自体は分かるのですが、それぞれの機能と13種類との掛け合わせで表現いただけると分かりやすいと思います。例えば「書き込み」が可能なら「読み取り」は? などです