AccessChk

作成者: Mark Russinovich

AccessChk のダウンロード
(106 KB)

概要

安全な環境を作成したことを確認する作業の一環として、Windows の管理者は、多くの場合、特定のユーザーやグループがファイル、ディレクトリ、レジストリ キー、グローバル オブジェクト、Windows サービスなどのリソースに対して持つアクセス権を知る必要があります。AccessChk を使用すると、直感的なインターフェイスと出力で、このような疑問をすばやく解決できます。

インストール

AccessChk はコンソール プログラムです。AccessChk を実行可能なパスにコピーします。「accesschk」と入力すると、構文が表示されます。

 

AccessChk の使用

使用法: accesschk [-s][-e][-u][-r][-w][-n][-v][[-a]|[-k]|[-p [-f] [-t]][-o [-t <オブジェクトの種類>]][-c]|[-d]] [[-l [-i]]|[<ユーザー名>]] <ファイル、ディレクトリ、レジストリ キー、プロセス、サービス、オブジェクト>

-a 名前には Windows アカウント権限を指定します。"*" を名前として指定すると、ユーザーに割り当てられているすべての権限が表示されます。特定の権限を指定すると、その権限に直接割り当てられているグループおよびアカウントのみが表示されることに注意してください。
-c 名前には Windows サービスを指定します (ssdpsrv など)。"*" を名前として指定すると、すべてのサービスが表示されます。また、"scmanager" を指定すると、サービス コントロール マネージャーのセキュリティを確認できます。
-d ディレクトリまたはトップレベルのキーのみ処理します。
-e 明示的に設定されている整合性レベルのみ表示されます (Windows Vista 専用)。
-f グループ、特権などを含む完全なプロセス トークン情報が表示されます。
-i 完全なアクセス制御リストをダンプする際、継承された ACE のみを含むオブジェクトを無視します。
-k 名前にはレジストリ キーを指定します (hklm\software など)。
-l 完全なアクセス制御リストが表示されます。-i を追加すると、継承された ACE は無視されます。
-n アクセス権を持たないオブジェクトのみ表示されます。
-o 名前には、オブジェクト マネージャー名前空間のオブジェクトを指定します (既定では root です)。ディレクトリのコンテンツを確認するには、末尾にバックスラッシュを付けた名前を指定するか、-s を追加します。-t とオブジェクトの種類 (section など) を追加すると、特定の種類のオブジェクトのみ表示されます。
-p 名前には、プロセス名または PID を指定します (cmd.exe など)。"*" を名前として指定すると、すべてのプロセスが表示されます。-f を追加すると、グループ、特権などを含む完全なプロセス トークン情報が表示されます。-t を追加するとスレッドが表示されます。
-q バナーを省略します。
-r 読み取りアクセス権を持つオブジェクトのみ表示されます。
-s 再帰処理します。
-t オブジェクトの種類のフィルターを指定します ("section" など)。
-u エラーを表示しないようにします。
-v 詳細に表示します (Windows Vista の整合性レベルなど)。
-w 書き込みアクセス権を持つオブジェクトのみ表示されます。

ユーザーまたはグループの名前とパスを指定して AccessChk を実行すると、そのアカウントの実際のアクセス許可が表示されます。これを指定しない場合は、セキュリティ記述子で参照されるアカウントの実際のアクセス許可が表示されます。

既定では、パス名はファイル システム パスとして解釈されます (名前付きパイプのパスを指定するには、"\pipe\" プレフィックスを使用します)。各オブジェクトに対して、アカウントが読み取りアクセス権を持つ場合は R、書き込みアクセス権を持つ場合は W が出力され、どちらの権限も持たない場合は何も出力されません。-v スイッチを指定すると、アカウントに付与されたアクセス権の詳細がダンプされます。

 

次のコマンドを実行すると、Power Users アカウントが \Windows\System32 内のファイルやディレクトリに対して持つアクセス権が表示されます。

accesschk "power users" c:\windows\system32

次のコマンドを実行すると、Users グループのメンバーが書き込みアクセス権を持つ Windows サービスが示されます。

accesschk users -cw *

HKLM\CurrentUser の下にあるレジストリ キーのうち、特定のアカウントがアクセス権を持たないものを確認するには、次のコマンドを使用します。

accesschk -kns austin\mruss hklm\software

HKLM\Software キーのセキュリティについて確認するには、次のコマンドを使用します。

accesschk -k hklm\software

Vista で、\Users\Mark の下にあるファイルのうち、整合性レベルが明示的に設定されているものをすべて表示するには、次のコマンドを使用します。

accesschk -e -s c:\users\mark

すべてのユーザーが変更を加えられるグローバル オブジェクトをすべて表示するには、次のコマンドを使用します。

accesschk -wuo everyone \basednamedobjects


ダウンロード

AccessChk のダウンロード
(106 KB)


ページのトップへ

ダウンロード


ダウンロード

AccessChk のダウンロード
(106 KB)


動作環境:

  • クライアント: Windows XP 以上
  • サーバー: Windows Server 2003 以上

関連リンク

  • AccessEnum (英語)
    アクセス許可の落とし穴を見つけます。
  • LogonSessions (英語)
    アクティブなログオン セッションを一覧表示します。
  • PsLoggedOn (英語)
    システムにログオンしているユーザーを表示します。
  • ShareEnum
    ネットワーク共有のセキュリティ ホールを見つけます。