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


15

Windows Server 2012 R2およびWindows Server 2008 R2を使用します。

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

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

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

を除くすべてのACLを削除しSYSTEM、追加したい<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はすべての権限を置き換えると思いましたか?他のすべてのアクセス許可を削除するために実行する必要があるコマンドを知っていますか?


このコマンドは私が望んでいることを正確cacls c:\temp\test /t /g <DOMAIN>\<USER>:Fに実行しますが、icaclsがそれに取って代わったと聞きましたが、同じ動作を生成する同等のicaclsバージョンを見せてもらえますか?
マークアリソン14

3
/grant:r上記のフォルダから継承された権限ではなく、既存の明示的な権限のみを削除します。/inheritance:r同様に含める必要があります。
TheCleaner

1
CACLSがジョブを実行する場合、非推奨であるかどうかにかかわらず、使用できない理由はありません。
joeqwerty 14

@joeqwerty trueですが、とても汚い感じがします。cacls自体はicaclsを使用するようにメッセージを返すため、非常に適切な理由が必要です。NOTE: Cacls is now deprecated, please use Icacls.
マークアリソン14

2
@joeqwerty cacls.exeはACLを間違った順序で設定する可能性があり、潜在的に問題を引き起こす可能性があります(これは読者の演習として残しておきます)。
クレイグ

回答:


16

コメントで述べた/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

7

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.