Назад | Перейти на главную страницу

Добавить одну запись о разрешениях в папку

На файловом сервере Windows 2008 у меня есть огромная папка, в которой некоторые подпапки не наследуют ACL от родительского объекта. Я хотел бы добавить одну запись о разрешениях (полный контроль для группы локальных администраторов) для всей папки и распространить эту запись даже на папки, которые не наследуют ACL сверху. Все существующие записи разрешений следует оставить как есть. По умолчанию, если я просто добавлю одну запись разрешения в корневую папку, подпапки, которые не наследуют ACL, не будут наследовать новую запись. Если я включу «Заменить все разрешения для дочерних объектов разрешениями, наследуемыми от этого объекта», это приведет к сбросу всех существующих записей ACL в папках, которые не наследуют ACL. Есть ли какой-нибудь метод решения моей проблемы?

Вы могли бы использовать SetACL если вам не нравится PowerShell (как предлагали BigHomie и HopelessN00b).

Вам следует прочитать полную документацию и протестировать свою команду в фиктивном месте, но синтаксис, который вы бы использовали, будет примерно таким:

setacl -on <PATH> -ot file -actn ace -ace "n:Administrators;p:full;i:so,sc;m:grant;w:dacl" -rec cont_obj -ignoreerr     

Это невозможно в графическом интерфейсе, но должно быть с icacls, видеть Справочник по командной строке.

Там вы можете увидеть, как /grant работает:

Предоставляет определенные права доступа пользователя. Разрешения заменяют ранее предоставленные явные разрешения.

Без :r, разрешения добавляются к любым ранее предоставленным явным разрешениям.

Как переключатель /t делает команду рекурсивно, их комбинация должна помочь.

Поэтому я бы предложил что-то вроде icacls "X:\PATH\TO\FOLDER\" /grant DOMAIN\group:(f) /t но посмотрите документацию, соответствует ли она вашей цели (и, как всегда, сначала попробуйте ее в тестовом каталоге).