web-dev-qa-db-ja.com

Windows Server 2012でアクセス許可と内部のすべてをicaclsに置き換える方法は?

Windows Server 2012 R2およびWindows Server 2008 R2の使用。

C:\temp\testというフォルダがあり、SYSTEMとユーザー、およびすべてのファイルとサブディレクトリへのアクセスを許可し、その他はすべて削除したいと考えています。私はこのコマンドを試しましたが、既存の権限はすべて残っています:

既存の権限は次のとおりです。

Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
         BUILTIN\Users Allow  AppendData
         BUILTIN\Users Allow  CreateFiles
         CREATOR OWNER Allow  268435456

SYSTEMを除くすべてのACLを削除し、<DOMAIN>\<USER>を追加したい

私はこのコマンドを試しました:

icacls c:\temp\test /grant:r <DOMAIN>\<USER>:(OI)(CI)F /t

processed file: c:\temp\test
Successfully processed 1 files; Failed processing 0 files

後で権限を確認すると、<DOMAIN>\<USER>には正しい権限がありますが、その他の権限はすべて残っています。 /grant:rがすべての権限を置き換えたと思いましたか?他のすべての権限を削除するために実行する必要があるコマンドを知っていますか?

16
Mark Allison

コメントが言及されているように、継承された権限を削除するには、/inheritance:rスイッチも使用する必要があります。

/grant:rは、明示的な権限のみを削除します。

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /T

SYSTEMも付与するには:

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /grant:r SYSTEM:(OI)(CI)F /T
16
krisFR

パラメータ/grant:rが機能しませんでした。 /resetを使用して権限を継承のみに戻し、継承された権限を削除する必要がありました。 /tフラグでサブディレクトリを変更することを忘れないでください。

8
Jan Zahradník