Difference between revisions of "Windows/SetACL"

From braindump
Jump to navigation Jump to search
Line 7: Line 7:
=== Inheritance of directories ===
=== Inheritance of directories ===
=== Take away inheritance, don't copy permission ===
=== Take away inheritance, don't copy permission ===
Make sure there are non inherited users already present or do add them like on the last line.
SetACL -on "<span class="input"><Path></span>"
SetACL -on "<span class="input"><Path></span>"
-ot file
-ot file
<span class="highlight">-actn setprot -op "dacl:<span class="input">p_nc</span>;sacl:nc"</span>
<span class="highlight">-actn setprot -op "dacl:<span class="input">p_nc</span>;sacl:nc"</span>
Ensure there are non-inherited users already present or add a line like the one below
-actn ace -ace "n:<span class="input">domain\user</span>;p:full"
-actn ace -ace "n:<span class="input">domain\user</span>;p:full"
With an addtional line we can reset the permission of all the sub-directories and files and only inherit from the path specified in <tt>-on</tt>
-actn rstchldrn -rst "dacl"

=== Take away inheritance, copy permission ===
=== Take away inheritance, copy permission ===
SetACL -on "<span class="input"><Path></span>"
SetACL -on "<span class="input"><Path></span>"

Revision as of 21:31, 17 June 2012

SetACL is a very powerful commandline tool that can help automate some of the more tedious permission setting tasks on Windows.

Windows ACLs are quite a bit more sophisticated than the Unix implementations I have come across so far. So SetACL is not for the faint of heart. Since I don't use it on a regular basis I forget most of the stuff until the next time. This document should help list some of the pain.

Howto

Inheritance of directories

Take away inheritance, don't copy permission

SetACL -on "<Path>" 
       -ot file 
       -actn setprot -op "dacl:p_nc;sacl:nc"

Ensure there are non-inherited users already present or add a line like the one below

       -actn ace -ace "n:domain\user;p:full"

With an addtional line we can reset the permission of all the sub-directories and files and only inherit from the path specified in -on

       -actn rstchldrn -rst "dacl"

Take away inheritance, copy permission

SetACL -on "<Path>" 
       -ot file 
       -actn setprot -op "dacl:p_c;sacl:nc"

Inherit from parent

SetACL -on "<Path>" 
       -ot file 
       -actn setprot -op "dacl:np;sacl:nc"

References