バッチファイル(ファイルのセキュリティ_icacls)

■ファイルのセキュリティ設定のコマンド(icacls)を試してみる。
前回からのファイル操作関連として、ファイルのセキュリティ設定のコマンドを試してみる。
ファイルのプロパティからセキュリティタブで見ることができるところ。

コマンドicaclsで権限の削除や付与ができるので、サンプルファイルを作ってファイルへのアクセスの挙動など見てみた。
デフォルトでファイルを作成すると、権限のあるオブジェクトとして、Everyone, System, Administrators, Usersと自身がログインしているユーザ名(ここではuser01)が設定されるよう。これらの権限を削除して、サンプルファイルに下の権限をつけた。
 N - アクセス権なし
 F - フル アクセス権
 M - 変更アクセス権
 RX - 読み取りと実行のアクセス権
 R - 読み取り専用アクセス権
 W - 書き込み専用アクセス権
 D - 削除アクセス権

権限の削除のコマンドは次の通り。先に継承を無効化しておかないと、権限が削除できないようなので、 /inheritance:dで無効化。その後、Administratorsなどを一つずつ消す。ここでは、user01が最後に残るけど、これも同様に消そうとすると先に上層のフォルダの権限が消えて、その下のファイルへアクセスができなくなり消せない。そのため、各ファイルごとに権限を消す。

iCACLS Folder5 /inheritance:d /T
iCACLS Folder5 /inheritance:r /T
iCACLS Folder5 /remove Administrators /T
iCACLS Folder5 /remove Users /T
iCACLS Folder5 /remove System /T
iCACLS Folder5 /remove Everyone /T

iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-1.txt /remove user01
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-2.txt /remove user01
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-3.txt /remove user01
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-4.txt /remove user01
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-5.txt /remove user01
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-6.txt /remove user01
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-7.txt /remove user01

権限を消した後で、各ファイルに権限を付与する。

iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-1.txt /grant user01:N
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-2.txt /grant user01:F
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-3.txt /grant user01:M
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-4.txt /grant user01:RX
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-5.txt /grant user01:R
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-6.txt /grant user01:W
iCACLS Folder5\Subfolder5-1\AAA_sampletext5-1-7.txt /grant user01:D

ファイルのプロパティから各ファイルの権限を見てみると下の表のように許可にチェックがついていた。

ファイル番号フルコントロール変更読み取りと実行読み取り書き込み特殊なアクセス許可
5-1-1
5-1-2
5-1-3
5-1-4
5-1-5
5-1-6
5-1-7

5-1-1のアクセス権なしは、許可がついていないだけでなく、ユーザー名も追加されていなかった。グループ名やユーザー名の欄には、「どのグループやユーザーもこのオブジェクトにアクセスするアクセス許可を持っていません。ただし、このオブジェクトの所有者はアクセス許可を割り当てることができます。」のコメントが入っており、だれもアクセス権がない状態でもファイルの作成者など所有者であれば、アクセス許可の追加ができるよう。
5-1-1, 5-1-6, 5-1-7は、ファイルを開くことができない。開こうとすると下記エラーがでる。

5-1-6は、書き込み権限があるので、上書き保存ができるかと思ったけど、それもできない。セキュリティの詳細設定を見てみると、もう少し細かい設定内容が確認できた(左下:書き込み、右下 :読み取り)。これを見ると、属性の読み取り、書き込みの意味なのかな。

ファイル削除は5-1-1を除き、すべてできた(上の読み取り、書き込みの有効なアクセスでは×になってるけど、これらも削除できた)。フルコントロールもチェック項目にあるので、それぞれの項目が独立しているわけではないだろうけど、相互関係がよく分からない。

ISO27001の取得が増えれば、ファイル管理とかでこのあたりの設定も注目されるかも。もう少し調べてみる。