Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

caclsコマンドでACLを編集する(SDDL編)

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/03/25
 
対象OS
Windows Server 2003
Windows Server 2003のcaclsコマンドでは、SDDL文字列を使って設定を行うことができる。
ACLをSDDL形式で表示するには/sオプションを指定する。
ACLをSDDL形式で設定するには/s:オプションに続けてSDDL文字列を指定する。
 
解説

 TIPS「caclsコマンドの出力の見方」「caclsコマンドでACLを編集する」では、コマンド・プロンプト上でcacls.exeコマンドを使って、ファイルのアクセス権を表示したり、変更したりする方法について解説した。そこでは、アカウント名とアクセス権を直接指定して操作する方法を紹介している。しかしこの方法では、設定できるアクセス権(属性)に制限があり、すべての属性を設定することはできなかった。

 だがWindows Server 2003のcacls.exeコマンドには、これ以外に、「SDDL(Security Descriptor Definition Language)」文字列を使ってアクセス権を設定したり、確認したりする方法が用意されている。SDDLは、セキュリティ設定において利用されるセキュリティ記述子の表現形式の1つであり、システム管理でもときどき利用される表記方法である。SDDLについては、別記事の「セキュリティ設定を記述するSDDL文字列とは?」を参照していただきたい。

 本TIPSでは、このSDDLを使ってファイルのアクセス権を確認したり、変更したりする方法を紹介する。SDDLを利用することにより、すべての権限を指定することができる。

操作方法

SDDLによるACLの表示方法

 cacls.exeコマンドで、SDDL形式でACLを表示させるには、「/S」オプションを指定すればよい。このオプションは、Windows Server 2003のcacls.exeコマンドでのみ指定可能である。

C:\Data>cacls file01.txt …通常形式でACLを表示
C:\Data\file01.txt BUILTIN\Administrators:F
                   NT AUTHORITY\SYSTEM:F
                   BUILTIN\Users:R


C:\Data>cacls file01.txt /s …SDDL形式でACLを表示
C:\Data\file01.txt "D:AI(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1200a9;;;BU)" …結果

 結果のSDDL文字列を先頭から順に分解して解説すると、次のようになる。

  • D―DACL(随意アクセス制御リストDACL)
  • AI―継承によって作成されたACL
  • (A;ID;FA;;;BA)―Administratorsにフル・コントロール権限
  • (A;ID;FA;;;SY)―Systemにフル・コントロール権限
  • (A;ID;0x1200a9;;;BU)―Usersに読み出しと実行権限(0x1200a9)

SDDLによるACLの設定方法

 SDDL表記を使ってACLを設定するには、/SオプションにSDDL文字列を付けて実行する。なおこのオプションを使用する場合、既存のACLはすべて削除されて置き換えられるので、必要なACEをすべて指定しておかないと、ファイルやフォルダがアクセスできなくなるので注意が必要である。以下の例では、既存のACEを削除し、代わりに、Everyone(“WD”)に読み出し(“FR”)の許可を、Users(“BU”)にフルアクセス権(“FA”)の許可をそれぞれ設定している。End of Article

C:\Data>cacls file01.txt /s:"D:(A;;FA;;;BU)(A;;FR;;;WD)" …SDDL形式で設定
よろしいですか (Y/N)?Y …続行メッセージの入力
処理ファイル: C:\Data\file01.txt

C:\Data>cacls file01.txt /s …設定内容の確認
C:\Data\file01.txt "D:AI(A;;FA;;;BU)(A;;FR;;;WD)(A;ID;FA;;;WD)"
 …3つ目のACEは親フォルダから継承している属性
 
関連記事(Windows Server Insider)
Windows TIPS:アクセス制御リストACLとは?
Windows TIPS:有効なファイル・アクセス権を調査する
Windows TIPS:caclsコマンドの出力の見方
Windows TIPS:caclsコマンドでACLを編集する
Windows TIPS:セキュリティ設定を記述するSDDL文字列とは?
Windows TIPS:caclsコマンドでACLを編集する(SDDL編)
Windows TIPS:オブジェクトを識別するSIDとは?
Windows TIPS:caclsコマンドをバッチ・ファイルで利用する
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間