в первую очередь следует упомянуть стандартную CACLS.EXE
Может и следует, но не очень добрым словом. Наследование нормально после него не наследуется. Кроме того эта консольная утилита "любит" пообщаться интерактивно (помнится, с ключом /t): точно хотите переписать? - и никакой возможности это пропустить авторами не предусмотрено (upd извернулись).
Про xcacls писали, что рекурсия у нее "мелкая" - на внучатых папках наследование может не продлиться. Не помню, честно говоря, проверял ли истинность этого. И нормальной правки (/E) не получалось, чтобы наследовалось имеющимися и создаваемыми. В результате исследований от использования отказался.
Под Win7 есть icacls, но тогда чем пользоваться под XP, если нужно?
Словом, я бы не рекомендовал пользоваться данными утилитами от MS по упомянутым, а также некоторым иным причинам.
subinacl - оказалась уровня MS-утилит, не умеет нормально работать с наследованием, причем делает вид, что умеет. Хотя на вид синтаксис несложный и даже приятный, работает как с файлами, так и с реестром.
А про SetACL из недостатков пока числю только дико страшный - с непривычки - синтаксис, ну и вопросики вместо русских букв в сообщениях. Зато хорошо работает! (Покрайней мере пока глюков не наблюдал. Кстати, если знаете таковые, отпишитесь пожалуйста.)
Вот это, например, причесать папке (со всеми входящими) наследование, посбрасывать все прочее + Админам full, а Всем read+exec ():
SetACL.exe -on "%~1" -ot file -actn ace -ace "n:S-1-5-32-544;p:full;s:y" -ace "n:S-1-5-18;p:full;s:y" -ace "n:S-1-1-0;p:read_ex;s:y" -actn clear -clr "dacl" -actn rstchldrn -rst "dacl"
А это - сделать Админов владельцами дерева (конечно тоже со всеми входящими, и не как через GUI "Оп-па, а у вас нет прав! Давайте еще раз!")
SetACL.exe -on "%~1" -ot file -actn setprot -op "dacl:np" -rec cont_obj -actn setowner -ownr "n:S-1-5-32-544;s:y"
Просто берет и делает. И между прочим в реестре тоже. И права аудита. Вне зависимости от локали и версии Win.
Есть конечно же еще и PowerShell и WMI (Dmitrii, ты титан! Такое накатать... Спасибо, теперь есть с чем разбираться!)
Но выглядит сложновато, честно говоря, для такой с виду простой операции как назначение прав.