SubInACL は管理者がファイルやレジストリやサービスのセキュリティ情報を取得するコマンドライン ツールです。そしてユーザーからユーザー、グループからブループ、ドメインからドメインへ変換することができます。
例えば、あるユーザーがあるドメイン(DomainA)から他のドメイン(DomainB)へ移動した時、管理者はユーザーのファイルのセキュリティ情報を DomainA/User から DomainB/User へ入れ替えることができます。同じファイルを新しいドメインでもアクセスできるようになるということです。
作成 2012.07.16
更新 2012.07.22
更新 2012.07.22
subinacl コマンドのヘルプ
SubInACL コマンドの和訳
Windows Server 2008 R2 でも動作します。
Windows Server 2008 R2 でも動作します。
このコマンドは地雷が設置されています。
実環境で利用する際は検証した上で実行してください。
実環境で利用する際は検証した上で実行してください。
目次
概要
SubInACL は以下の操作が管理者権限で出来ます。
- ファイル、レジストリ キー、サービスのセキュリティ情報の表示。この情報には所有者、グループ、アクセス制御リスト(ACL)、随意アクセス制御リスト(DACL)、システム アクセス制御リスト(SACL) が含まれます。
- オブジェクトの所有者を変更
- セキュリティ情報の入れ替え(アカウント、グループ、よく知られているSID)
- セキュリティ情報のマイグレーション。ドメインを移行する際に便利
対応するOSの機能
このツールに対応するGUIのOS機能はありません。
コンセプト
アクセス制御の挙動や役割、セキュリティ記述子に関する情報は、Windows Server 2003 のヘルプとサポートセンターにある "Understanding access control" を参照してください。
必要なシステム
SubInACL は以下のシステムが必要です。
- Windows XP Professional または Windows Server 2003
- SeBackupPrivilege (ファイルやディレクトリのバックアップ)
- SeChangeNotifyPrivilege (Bypass Traverse Checking)
- SeRestorePrivilege (ファイルやディレクトリのリストア)
- SeSecurityPrivilege (監査やセキュリテ ログの管理)
- SeTakeOwnershipPrivilege (ファイルその他オブジェクトの所有権取得)
- SeTcbPrivilege (OSの一部として実行)
必要なファイル
- Subinacl.exe
備考
UNIX の find ツールとの比較
SubInACL の書式は UNIX の find ツールとよく似ています。
- "オブジェクト名" オブジェクトのセキュリティ記述子を取得する。詳しくは SubInACL で SID の使用 を参照。
- 一つまたはそれ以上の挙動を適用する。コマンドラインに記述された順番通りに実行される。
SubInACL による編集
SubInACL は以下のセキュリティ記述子を変更できます。
- 所有者
- Primary group
- システム アクセス制御リスト(ACL) とアクセス制御エントリー (ACE) (SubInACL ではそれぞれ audit ACL と AACE と呼称される)
- 随意アクセス制御リストとアクセス制御エントリー (SubInACL ではそれぞれ permission ACL と PACE と呼称される)
SubInACL で SID の使用
セキュリティ記述子はセキュリティ識別子(SID)のグループで表現します。SIDの書式は以下のとおりです。
- DomainName\Account (例 DOM\Administrators)
- StandaloneServer\Group
- Account
- s-1-x-x-x-x-x-x
x の部分は10進数で記述 (例 S-1-5-21-56248481-1302087933-1644394174-1001)
Caution
- 指定された SID は有無や有効性を確認しません。
SubInACL で PACE の使用
以下のパーミッション ACE (PACE) は /grant と /deny パラメーターで使用します。
File PACE
PACE | 説明 |
F | Full Control |
C | Change |
R | Read |
P | Change Permissions |
O | Take Ownership |
X | eXecute |
E | Read eXecute |
W | Write |
D | Delete |
Cluster Share PACE
PACE | 説明 |
F | Full Control |
R | Read |
C | Change |
Printer PACE
PACE | 説明 |
F | Full Control |
M | Manage Documents |
P |
Registry PACE
PACE | 説明 |
F | Full Control |
R | Read |
A | ReAd Control |
Q | Query Value |
S | Set Value |
C | Create SubKey |
E | Enumerate Subkeys |
Y | NotifY |
L | Create Link |
D | Delete |
W | Write DAC |
O | Write Owner |
Services PACE
PACE | 説明 |
F | Full Control |
R | Generic Read |
W | Generic Write |
X | Generic eXecute |
L | Read controL |
Q | Query Service Configuration |
S | Query Service Status |
E | Enumerate Dependent Services |
C | Service Change Configuration |
T | Start Service |
O | Stop Service |
P | Pause/Continue Service |
I | Interrogate Service |
U | Service User-Defined Control Commands |
Share PACE
PACE | 説明 |
F | Full Control |
R | Read |
C | Change |
Metabase PACE
PACE | 説明 |
F | Full Control |
R | Read - MD_ACR_READ |
W | Write - MD_ACR_WRITE |
I | Restricted Write - MD_ACR_RESTRICTED_WRITE |
U | Unsecure Props Read - MD_ACR_UNSECURE_PROPS_READ |
E | Enum Keys - MD_ACR_ENUM_KEYS |
D | Write DAC - MD_ACR_WRITE_DAC |
Process PACE
PACE | 説明 |
F | Full Control |
R | Read |
W | Write |
E | Execute |
Security Accounts Manager (SAM) Object PACE
PACE | 説明 |
F | Full Control |
R | Read |
W | Write |
E | Execute |
帯域を最小化するには
SubInACL の SID 解決のネットワーク帯域を最小化するには、1つのコマンド ファイルに同じSIDを含んだ複数行のコマンドを配置します。SubInACL が SID 解決した時にパフォーマンスを改善するために結果をキャッシュしネットワーク トラフィックを最小化します。SubInACL のコマンドが終了すると、キャッシュはクリアされます。したがって、仮に同じ SID を解決する 4 コマンドを 1 つづづ実行すると、4 回解決しますが、4 つのコマンドを 1 つのコマンド ファイルに入れて実行すると、1 回しか解決しません。
書式
以下の書式説明は用途によってグループ化しています。機能のヘルプは、コンソール ウィンドウでからインタラクティブに参照することができます。もしくは、スクリプト環境から参照することもできます。
ヘルプを参照する
subinacl /help [/full | Keyword]
パラメータ
/full
-
SubInACL のすべての情報を表示
-
[ /noverbose | /verbose | /verbose=1 | /verbose=2 | /testmode | /notestmode | /file | /subdirectories | /onlyfile | /share | /clustershare | /keyreg | /subkeyreg | /service | /printer | /kernelobject | /metabase | /display | /setowner | /replace | /changedomain | /migratetodomain | /findsid | /suppresssid | /confirm | /perm | /audit | /ifchangecontinue | /cleandeletedsidsfrom | /accesscheck | /setprimarygroup | /grant | /deny | /revoke ]
- 指定されたオプションやオブジェクト タイプ、アクションの情報を表示します。
- 指定されたオプションの情報をすべてを表示します。
- 指定されたアクションのすべての情報を表示します。
- 指定されたオブジェクト タイプのの情報を表示します。
- 機能セットの情報を表示します。
- 書式のサマリーを表示します。
- 書式の機能概要を表示します。
- SID をどのように表現するか、SID をどのように変換するか表示します。
- セキュリティ情報を閲覧する方法を表示します。
- コマンドが正しいか確認するテストモードについての情報を表示します。
- 動作するオブジェクト タイプに関する情報を表示します。
- 別のドメインへユーザーを移動する方法に関して表示します。
- 別のドメインへサーバーを移動する方法に関して表示します。
- セキュリティ記述子の編集機能に関して表示します。
SubInACL をコンソールで使用するときの書式
subinacl [/Option] /object_type object_name [[/Action[=Parameter]..]
/Option パラメータ
-
/outputlog=FileName
- 出力を指定されたファイルへリダイレクトします。/errorlog が指定されない場合、エラーも含まれます。
- 指定されたファイルへすべてのエラーをリダイレクトします。
- SID の解決がうまくいかない時に SID を問い合わせるサーバーを指定します。幾つかのサーバーでドメインのマイグレーションを行う際に役立ちます。
- ユーザー名とSIDの対応を記述したファイルを指定し、サーバーに問い合わせる代わりにこのファイルで SID を解決できます。ドメインにアクセスできなかったり、ドメインが既になくなっている場合に役立ちます。
- 出力に String1 があると String2 へ変換します。
- %username% のような環境編集を使用できるようになります。これは既定値で、逆は /noexpandenvironmentvariables です。
- 環境変数を使用できないようにします。これはコマンド ファイルを使用して実行する際に役立ちます。
- 処理が終了したら統計を表示します。これは既定値です。
- 処理が終了しても統計は表示されません。
- 実行後、ローカル キャッシュの SID をダンプできます。このファイルは /offlinesam で使用することができます。
- イコール サイン (=) を指定した文字へ変更します。
- 読みやすくするために出力を短くします。コマンド ファイルで指定すると、あとのコマンドにも反映されます。
- 詳細に出力します。これは既定値です。
- このモードは /verbose と同一です。
- このモードは /verbose と同一です。
- テスト モードで動作し、変更は適用されません。
- 変更が適用されます。これは既定値です。
/object_type パラメータ
-
/file [=directoriesonly | =filesonly]
- SubInACL は分散ファイルシステム (DFS) をサポートしていません。
- この object_type は以下のメタベース パスのみ指定できます。
- \LM\MSFTPSVC
- \LM\MSFTPSVC/n
- \LM\W3SVC
- この object_type は列挙をサポートしていません。
-
object_name にはファイル オブジェクトを指定します。/file パラメーターは、UNC パスやドライブ レターが使用できます。オブジェクト名には * ワイルドカード文字が使用できます。
注意
-
object_name にフォルダーを指定すると、その配下のファイルとフォルダーすべてが対象になります。/subdirectories か /subdirec パラメーターは、UNC パスやドライブ レターが使用できます。オブジェクト名には * ワイルドカード文字が使用できます。
- FindFilexxx メカニズムを使用せずにファイルを開きます。/onlyfile パラメーターで指定可能な object_name は名前付きパイプまたはメールスロットです。
- object_name にはユーザーやローカル グループ、グローバル グループのようなセキュリティ アカウント マネージャー (SAM) オブジェクトを指定します。
- object_name にはネットワーク ファイル共有を指定します。
- object_name にはクラスター ファイル共有を指定します。
- object_name にはレジストリー キーを指定します。
- object_name にはレジストリー サブキーを指定します。
- object_name にはサービスを指定します。
- object_name にはプロセスを指定します。
- object_name にはプリンターを指定します。
- object_name にはカーネル オブジェクトを指定します。適切な値はミューテックス、セクション、イベント オブジェクトです。
- object_name には Microsoft Internet Information Services (IIS) の AdminACL メタベースを指定します。
注
object_name パラメータ
-
/object_type パラメーターで指定可能なオブジェクト名を指定します。詳細は /object_type パラメータ を参照してください。
/Action パラメータ
-
/display [=dacl | =sacl | =owner | =primarygroup | =sdsize | =sddl]
- 指定されたオブジェクトのセキュリティ記述子を表示します。これは既定の動作です。オプションのパラメーターでどのセキュリティ記述子を検索するか指定できます。/noverbose と併用すると、/display は指定されたオブジェクトのセキュリティ記述子に再適用されます。
- オブジェクトの所有者を変更します。/owner=SID または /setowner=SID owner = DomainName\Administrators を指定することで、オブジェクトを配置したサーバーの Administrators の SID で所有権を取り戻すことができます。
- 所有者を指定します。Owner は適切な SID である必要があります。詳しくは、SubInACL で SID の使用 を参照してください。
- 指定されたオブジェクトのアクセス コントロール エントリー (ACE) (Audit ACE と Permission ACE) を入れ替えます。
- 所有者やプライマリー グループが DomainName\OldAccount であれば入れ替えます。例えば、 /accountmigration=DOM_MARKETING\ChairMan=NEWDOM\NewChairMan は DOM_MARKETING\ChairMan を含むすべての ACE を NEWDOMAIN の NewChairMan SID に入れ替えて複製します。詳しくは /replace を参照してください。
注意
- DomainName\NewAccount が ACE にすでにあると、入れ替えはスキップされます。
- OldDomainName のすべての ACE を NewDomainName に見つかった同様な SID へ入れ替えます。
- 指定されたオブジェクトの SourceDomain で見つかった ACE を DestinationDomain へ変換して追加します。SourceDomain の ACE を維持できます。
- object_name のセキュリティ記述子に含まれている DomainName\Account の参照を表示します。=stop が指定された状態でアカウントが見つかると、次のパラメーターはスキップされ変更は適用されなくなります。=stop が指定された状態でアカウントが見つからなかった場合、次のパラメーターが適用されます。=continue が指定された状態でアカウントが見つかると、次のパラメーターが適用されます。 =continue が指定された状態でアカウントが見つからなかった場合、次のパラメーターはスキップされ変更は適用されません。
- [DomainName\]Account を含む ACE を削除します。(訳注:表示を抑制するのではなく本当に削除されます)もしオブジェクトの所有者が [DomainName\]Account だった場合、所有者は Everyone の SID へ置き換えられます。
- action に指定すると、次の処理の前に問い合わせがあります。
- PACE を削除します。
- AACE を削除します。
- 直前の処理で変更があった場合にのみ処理を継続します。
- DomainName から削除されていたり、正しくない SID が含まれていたら削除します。オプション パラメーターを指定することで、検索するセキュリティ記述子を限定することができます。
- オブジェクトの変更しません。SubInACL の変更をテストすることができます。
- [DomainName\]UserName に許可されているアクセス権を表示します。このオプションを使用するには、SeTcbName (オペレーティングシステムの一部として実行する) 権限が必要で、リモートのオブジェクトには使用できません。
- プライマリー グループを変更します。
- PACE に UserName を追加します。指定された object_name にしたがって適切なアクセス権限が与えられます。指定可能な PACE は SubInACL で PACE の使用 に一覧があります。Acess が指定されていない場合はフル コントロール権限が与えられます。
- 指定されたユーザーやグループに対するアクセス拒否設定を加えます。指定された object_name にしたがって適切なアクセス権限が与えられます。指定可能な PACE は SubInACL で PACE の使用 に一覧があります。Acess が指定されていない場合はすべてのアクセスが拒否されます。
- 指定されたユーザーの成功の監査を追加します。Access が指定されない場合、すべての成功の監査が追加されます。指定可能な PACE は SubInACL で PACE の使用 に一覧があります。
- 指定されたユーザーの失敗の監査を追加します。Access が指定されない場合、すべての失敗の監査が追加されます。指定可能な PACE は SubInACL で PACE の使用 に一覧があります。
- 指定されたユーザーやグループアクセス許可が削除されます。
- 使用されないエントリーを削除してセキュリティ記述子を圧縮します。
- コンテナーのパスを検査しパターンにマッチすると除外します。* ワイルドカード文字はパスに展開され同様に除外することができます。
- パターンにマッチしたオブジェクト名を除外します。* ワイルドカード文字はパスに展開され同様に除外することができます。
Parameter パラメータ
-
/Action のパラメーターです。/Action で必要な場合に使用します。
SubInACL 独自スクリプトの書式
subinacl [/Option ..] /playfile FileName
パラメータ
-
/Option
- /Option は使用できません。
- /object_type はスラッシュ (/) ではなく、プラス (+) を指定します。
- /object_type と object_name は同じ行にペアで指定します。
- 各行の action は、適用可能なすべてのパラメーターに反映されます。
- 前述したオプションが使用できます。
- SubInACL コマンドファイル (スクリプト ファイル) を指定します。ファイルは手動で作成したり /noverbose と /display オプションを使用して実行した結果を使用することができます。
/playfile のコマンド ファイルは次に挙げる条件以外は直接コマンドで実行する場合と同様です。
使用例
シナリオ例
シナリオ 1
このタスクは OldDomain から NewDomain へ User1 を移動した後、\\Server\Share のアクセス権を修正する例です。
subinacl /subdirec \\server\share\*.* /replace=OLDDOMAIN\USER1=NEWDOMAIN\User1注
- 2つのドメインは信頼関係にある必要があります。
シナリオ 2
このタスクは MigrControl という名前のバックアップ ドメイン コントローラー (BDC) をファイルごと NewDomain へ移行し、あわせてユーザーも OldDomain から NewDomain へ移行する例です。(訳注:ユーザーのドメイン間の移行は通常 ADMT を使用します)
- MigrControl を NewDomain のプライマリ ドメイン コントローラー (PDC) として再インストールします。ファイルは削除しないでください。
- NewDomain でユーザーを作成します。
- OldDomain と信頼関係を結びます。
- ファイルを移行します。
subinacl /noverbose /subdirectories x:\*.* /changedomain=OLDDOMAIN=NEWDOMAIN
- 変更を確認します。
subinacl /noverbose /subdirectories x:\*.*
シナリオ 3
スタンドアロンのサーバーを NewDomain へ移動する例です。
- サーバーを NewDomain へ移動します。
- NewDomain にユーザーを作成します。
subinacl /noverbose /subdirectories \\SERVER\SHARE /changedomain=SERVER=NEWDOMAIN
シナリオ 4
この例では C:\Temp フォルダー配下の .txt ファイルのアクセス権を Jim から Kim へ入れ替えます。あわせて各ファイルのセキュリティ記述子を表示します。
subinacl /file c:\temp\*.txt /replace=Jim=Kim /display
オプション書式の例
/help
- この例はドメイン移行のヘルプを表示します。
subinacl /help domain_migration
- この例は /setowner アクションのヘルプを表示します。
subinacl /help /setowner
/outputlog
- この例は C:\Test.txt のセキュリティ情報を取得してすべての出力をエラー含めて C:\Alloutput.txt に保存します。
subinacl /outputlog=C:\ALLOUTPUT.TXT /file C:\TEST.TXT /display
/errorlog
- この例は C:\Test.txt のセキュリティ情報を取得し、エラーログを C:\Errorlog.txt へ保存し、その他の出力を C:\Nonerrors.txt へ保存します。
subinacl /outputlog=c:\NONERRORS.TXT /errorlog=C:\ERRORLOG.TXT /file C:\TEST.TXT /display
/alternatesamserver
- この例は C:\Test.txt のセキュリティ情報を取得する際に、ファイルの保存されたサーバーで SID が解決できなかった際に Server1 へ問い合わせます。
subinacl /alternatesamserver=\\server1 /file C:\TEST.TXT /display
/offlinesam
- この例はファイルのセキュリティ情報をあるドメインから別のドメインへ移行します。そして移行元のドメインとアクセス済みであれば、移行中に移行元のドメインとアクセスする必要がないという例です。
- ユーザーと対応する SID を移行元ドメインから C:\Samfile.txt というファイル名のテキスト ファイルで保存します。フォーマットは以下のとおりです。
- _cachefileonly_=s-1-9-cacheonly
- [Domain\UserName | Server\UserName]=SID
- 以下のコマンドを実行
subinacl /offlinesam=C:\SAMFILE.TXT /subdirect \\SERVER\SHARE\*.* /migratedomain=SOURCEDOMAIN=DESTDOMAIN
- ユーザーと対応する SID を移行元ドメインから C:\Samfile.txt というファイル名のテキスト ファイルで保存します。フォーマットは以下のとおりです。
/stringreplaceonoutput
- この例は Server1 の E: ドライブから Server2 の E: ドライブへ移動します。
- Server1 の E: ドライブの各ファイルのセキュリティ設定を C:\Commandfile.txt へ記録します。しかし参照を Server1 から Server2 へ入れ替える必要があるため次のようにコマンドを実行します。
subinacl /outputlog=c:\Commandfile.txt /stringreplaceonoutput=\\server1=\\server2 /subdirectories E:\*.* /noverbose /display
- Server1 の E: ドライブから Server2 の E: ドライブへすべてのファイルをコピーします。
- Commandfile.txt を Server2 の C: ドライブへコピーします。
- Server2 の E: ドライブのファイルにセキュリティ設定を再適用します。
subinacl /playfile c:\commandfile.txt
- Server1 の E: ドライブの各ファイルのセキュリティ設定を C:\Commandfile.txt へ記録します。しかし参照を Server1 から Server2 へ入れ替える必要があるため次のようにコマンドを実行します。
/noexpandenvironmentsymbols
- この例はコマンド実行中の環境変数の変換を停止します。
subinacl /noexpandenvironmentsymbols /object_type object_name /action
/separator
- この例はデフォルトの分割文字 (=) を一時的にチルダ (~) へ変更します。これにより /stringreplaceonoutput オプションでイコール文字 (=) が使用可能になります。
subinacl /separator=~ /stringreplaceonoutput~=europe\~=southerneurope /file *.* /noverbose /display
/noverbose
- この例は C:\Test.txt のセキュリティ設定のサマリを表示します。
subinacl /noverbose /file c:\test.txt
- この例は C: ドライブのセキュリティ設定を D:\Filesettings.txt へ保存します。このファイルは /playfile や /display アクションで最適用できます。
subinacl /noverbose /outputlog=D:\FILESETTINGS.TXT /subdirectories C:\*.* /display
/verbose
- この例は C:\Test.txt のセキュリティ設定に関してすべての情報を表示します。
subinacl /verbose /file C:\TEST.TXT
/testmode
- この例は正しい書式が使用されているかテストでき、設定変更されることはありません。Server1 の Share1 サブディレクトリのすべてのファイルのセキュリティ記述子を DomA から DomB へ変更したい時、事前に以下のコマンドでテストできます。
subInacl /subdirec \\SERVER1\SHARE1\*.* /changedomain=DOMA=DOMB /ifchangecontinue /noverbose /display /testmode
オブジェクト書式例
/file
- この例は現在のフォルダー直下のすべての .obj ファイルのセキュリティ設定を表示します。
subinacl /file *.obj /display
- この例は C:\TEMP フォルダー直下のすべての .obj ファイルのセキュリティ設定を表示します。
subinacl /file C:\TEMP\*.obj /display
- この例は \\Server1\Share1 共有フォルダ直下のすべての .exe ファイルのセキュリティ設定を表示します。
subinacl /file \\server1\share1\*.exe /display
- この例は \\Server1\Share1 共有フォルダのフォルダそのもののセキュリティ設定を表示します。
subinacl /file=directoriesonly \\server1\share1 /display
- この例は \\Server1\Share1 共有フォルダ直下のすべてのファイルのセキュリティ設定を表示します。フォルダやサブフォルダは参照されません。
subinacl /file=filesonly \\server1\share1 /display
/subdirectory
- この例は C:\Temp フォルダーとその配下のフォルダーすべての .obj ファイルのセキュリティ設定を表示します。
subinacl /subdirectory C:\TEMP\*.obj /display
- この例は C:\Temp\Test フォルダーとその配下のフォルダーすべての .obj ファイルのセキュリティ設定を表示します。
subinacl /subdirectory C:\TEMP\TEST\*.OBJ /display
- この例は C: ドライブすべてのフォルダーのセキュリティ設定を表示します。ファイルは表示されません。
subinacl /subdirectory=directoriesonly C:\*.* /display
/onlyfile
- この例は PipeName という名前のパイプのセキュリティ情報を表示します。
subinacl /onlyfile \\.\pipe\PipeName /display
/samobject
- この例は Server1 のローカル グループ Group1 のセキュリティ設定を表示します。
subinacl /samobject \\SERVER1\GROUP1 /display
- この例は Server1 に登録されているローカル ユーザーのセキュリティ設定を表示します。
subinacl /samobject \\SERVER1\*users* /display
- この例は Server1 に登録されているローカル グループのセキュリティ設定を表示します。
subinacl /samobject \\SERVER1\*groups* /display
- この例は Server1 のローカル グループ TESTGROUP に対するフル コントロール権限を Poweruser1 という名前のユーザーに与えます。
subinacl /samobject \\SERVER1\TESTGROUP /grant=poweruser1=f
/share
- この例はネットワーク ファイル共有 \\Server1\Share1 のセキュリティ設定を表示します。
subinacl /share \\SERVER1\SHARE1 /share
/clustershare
- この例はクラスタ共有 \\Cluster1\Share1 のセキュリティ設定を表示します。
subinacl /clustershare \\CLUSTER1\SHARE1 /display
/keyreg
- この例は Server1 の HKEY_LOCAL_MACHINE\SOFTWARE レジストリ キーのセキュリティ設定を表示します。
subinacl /keyreg \\SERVER1\HKEY_LOCAL_MACHINE\SOFTWARE /display
/subkeyreg
- この例は Server1 の HKEY_LOCAL_MACHINE\SOFTWARE レジストリ キーとサブキーのセキュリティ設定を表示します。
subinacl /subkeyreg \\SERVER1\HKEY_LOCAL_MACHINE\SOFTWARE /display
/service
- この例はローカル コンピューターの Messenger サービスのセキュリティ設定を表示します。
subinacl /service Messenger /display
- この例は Server1 の Messenger サービスのセキュリティ設定を表示します。
subinacl /service \\SERVER1\MESSENGER /display
/printer
- この例はプリンター共有 \\Server1\Printer1 のセキュリティ設定を表示します。
subinacl /printer \\SERVER1\PRINTER1 /display
/kernelobject
- この例はミューテックス _outlook_mutex_ のセキュリティ設定を表示します。
subinacl /kernelobject _outlook_mutex_ /display
/process
- この例は Notepad のプロセスのセキュリティ設定を表示します。
subinacl /process notepad.* /display
- この例はプロセスID (PID) 1234 のセキュリティ設定を表示します。
subinacl /process 1234 /display
/metabase
- この例は Server1 の IIS メタベース \LM\W3SVC に対して Administrators のフル コントロール権限を追加します。
subinacl /metabase \\SERVER1\LM\W3SVC /grant=administrators=f
実行書式例
/display
- この例は C: ドライブ直下のファイルのセキュリティ設定を表示します。
subinacl /file C:\*.* /display
- この例は C: ドライブ直下のファイルのセキュリティ設定の出力を D:\Securitysettings.txt へ保存します。
subinacl /outputlog=D:\SECURITYSETTINGS.TXT /file C:\*.* /display /noverbose
/owner
- この例は C:\Test.txt の所有者を Domain1\User1 に設定します。
subinacl /file C:\TEST.TXT /owner=DOMAIN1\USER1
/replace
- この例は C: ドライブ直下のファイルの ACE の Domain1\User1 を Domain2\User2 へ入れ替えます。
subinacl /file C:\*.* /replace=DOMAIN1\USER1=DOMAIN2\USER2
/changedomain
- この例は C: ドライブ配下のすべての ACE を置換します。Domain1 の SID を Domain2 の同名のユーザーの SID に置換します。
subinacl /subdirectory C:\*.* /changedomain=domain1=domain2
- この例は C: ドライブ配下のすべてのファイルの ACE を置換します。Domain1 の User1 と Domain2 の User2 を置換します。MAPFILE.txt には "USER1=USER2" という行が記述されています。
subinacl /subdirectory C:\*.* /changedomain=domain1=domain2=MAPFILE.TXT
/migratetodomain
- この例は C: ドライブ配下のすべてのファイルの ACE を保持したまま Domain1 のユーザーと同じユーザー名の Domain2 のユーザーを追加した ACE を作成します。
subinacl /subdirectory C:\*.* /migratetodomain=domain1=domain2
- この例は C: ドライブ配下のすべてのファイルの ACE を保持したまま Domain1\User1 と対応する Domain2\User2 の ACE を追加します。mapfile.txe には "USER1=USER2" という行が記述されています。
subinacl /subdirectory C:\*.* /migratetodomain=domain1=domain2=mapfile.txt
/findsid
- この例は Domain1\User1 の SID が ACL にリストされている C: ドライブ配下のすべてのファイルを表示します。
subinacl /subdirectory C:\*.* /findsid=DOMAIN1\USER1
- この例は C: ドライブ配下のすべてのファイルを表示しますが Domain1\User1 の SID が ACL に存在するファイルは除外されます。これは実際にアクセス権があるかどうかは無関係です。例えば、Everyone Read が設定されているファイルは User1 で閲覧できますが、User1 のアクセス権が明示的に設定されていなければ除外対象になりません。(訳注:追加の /Action が必須です。無いと説明通り動作しません)
subinacl /subdirectory C:\*.* /findsid=DOMAIN1\USER1=stop /display
/suppresssid
- この例は C:\Test.txt の Domain1\User1 の ACE を削除します。
subinacl /file C:\TEST.TXT /suppresssid=DOMAIN1\USER1
/confirm
- この例は Domain1 から削除された SID を消去します。DACL と SACL を対象として実行します。そして削除前に問い合わせます。
subinacl /file *.* /cleandeletedsidsfrom=domain1=dacl /cleandeletedsidsfrom=domain1=sacl /ifchangcontinue /confirm
/perm
- この例は C:\Test.txt の Permission ACE (PACE) をすべて削除します。
subinacl /file C:\TEST.TXT /perm
/audit
- この例は C:\Test.txt の監査 (AACE) をすべて削除します。
subinacl /file C:\TEST.TXT /audit
/accesscheck
- この例は C:\Text.txt に対する Domain1\User1 のアクセス権を確認します。
subinacl /file C:\TEST.TXT /accesscheck=domain1\user1
/setprimarygroup
- この例は C:\Test.txt のプライマリー グループを Domain1\Group1 へ設定します。
subinacl /file C:\TEST.TXT /setprimarygroup=domain1\group1
/grant
- この例は Domain1\User1 に対して C:\Test.txt の所有権を取得する権限を与えます。
subinacl /file C:\TEST.TXT /grant=domain1\user1=o
- この例は Domain1\User1 に対して C:\Test.txt の実行権限と所有権を取得する権限を与えます。
subinacl /file C:\TEST.TXT /grant=domain1\user1=xo
/deny
- この例は Domain1\User1 に対して C:\Test.txt の所有権の取得を拒否する設定を追加します。
subinacl /file C:\TEST.TXT /deny=domain1\user1=o
- この例は Domain1\User1 に対して C:\Test.txt の実行権の拒否と所有権の取得の拒否を追加します。
subinacl /file C:\TEST.TXT /deny=domain1\user1=xo
/revoke
- この例は C:\Test.txt から Domain1\User1 のすべての権限を削除します。アクセス拒否も削除します。
subinacl /file C:\TEST.TXT /revoke=domain1\user1
/compactsecuritydescriptor
- この例はディスク ユーティリティで作成されたセキュリティ記述子を圧縮します。
subinacl /subdirectories C:\*.* /compactsecuritydescriptor
/pathexclude
- この例はファイル パスに "TESTING" が含まれているファイルを除外して情報を表示します。
subinacl /file C:\*.* /display /pathexclude=TESTING*
/objectexclude
- この例は .asp ファイルを除外して情報を表示します。
subinacl /file *.* /display /objectexclude=*.asp
/playfile
- この例は C:\Test1.txt に Everyone 読み取りのアクセス権を与え、C:\Test2.txt に Everyone 読み取り書き込みのアクセス権を与えます。コマンドでは以下のとおり。
subinacl /file C:\TEST1.TXT /grant=everyone=r /noverbose /display subinacl /file C:\TEST2.TXT /grant=everyone=rw /noverbose /display
同じ処理を playfile で指定する場合は以下のとおり- 以下の内容を記述した Commandfile.txt 作成します。
+file C:\TEST1.TXT /grant=everyone=r /noverbose /display +file C:\TEST2.TXT /grant=everyone=rw /noverbose /display
- 実行します。
subinacl /playfile COMMANDFILE.TXT
- 以下の内容を記述した Commandfile.txt 作成します。
- この例は C: ドライブ配下のすべてのファイルのアクセス権を /outputlog=D:\subinaclsave.txt へ保存し、保存したファイルを使用して /playfile コマンドで再適用します。
保存は以下のコマンドで。subinacl /noverbose /outputlog=D:\subinaclsave.txt /subdirectories c:\*.* /display
保存したファイルで再適用します。subinacl /playfile D:\subinaclsave.txt
関連ツール
SubInACL.exe と関連するツール
- Permcopy.exe: 共有アクセス権のコピー
- Perms.exe: ファイルのアクセス許可
- Showacls.exe: ACL の表示
タグ: Windows