Windows 2003; Найти папки с ненаследуемыми / измененными разрешениями

8

Вопрос : я ищу хороший способ для аудита / поиска в структуре каталогов (Windows 2003) и поиска любых папок, которые либо не наследуют разрешения от своего родителя, либо добавили дополнительных пользователей / групп.

Назад История

Мы переносим старый файловый сервер Windows 2003 в коробку 2008 R2. Этот старый сервер был перенесен с NT4. Большинство текущих папок используют старые (устаревшие?) Группы Domain \ Administrators и Domain \ Users. Это группы, которые я пока не могу использовать для разрешений в разрешениях 2008 R2.

Итак, перед тем, как я проведу повторное копирование всех общих данных со старого сервера на новый, мне сначала нужно «модернизировать» разрешения для старых общих ресурсов. Однако я знаю, что за последние десятилетия некоторые [недокументированные] папки изменили свои разрешения, чтобы либо не наследовать от родительского, либо добавлять дополнительных пользователей. Таким образом, мой поиск способа найти их!

Chris_K
источник

Ответы:

8

Я бы рекомендовал использовать Powershell (для Win2003: http://support.microsoft.com/kb/968929/en-us ) и дополнительный дополнительный модуль для этого ( http://gallery.technet.microsoft.com). / scriptcenter / 1abd77a5-9c0b-4a2b-acef-90dbb2b84e85 ).

Это поможет вам сначала получить наследование для структуры папок (например, при запуске из стартовой папки).

get-childitem -Recurse | get-inheritance | export-CSV C:\Inheritance.csv -NoTypeInformation

Вы получите все файлы и папки в формате CSV, которые затем могут быть отфильтрованы в Excel или других БД, если вам нужно.

Дополнительным преимуществом модуля NTFSSecurity является то, что вы можете изменить наследование или списки ACL также во время миграции с помощью аналогичного сценария Powershell.

Например, вы можете полностью удалить наследование в папке (вашей стартовой папке) с помощью:

get-childitem | Disable-Inheritance

или снова добавьте ключ -recurse для всех подпапок / файлов.

Надеюсь, это поможет ура

Mr.T
источник
1
+1 за сообщение о модуле PowerShell для безопасности файловой системы.
шт.
Маленький, но чрезвычайно функциональный и полезный! Обязательная вещь!
Владимир Молодец
1

Это довольно легко с SetACL . Запустите это так:

SetACL -on "some path" -ot file -actn list -lst f:csv -rec cont

Эта команда инструктирует SetACL печатать разрешения от тех объектов, которые имеют явные разрешения, либо потому, что ACE были добавлены в каталог с включенным наследованием, либо потому, что наследование было отключено и были установлены новые ACE.

SetACL обрабатывает пути длиннее 260 символов и перечисляет ACE из любого каталога независимо от текущих разрешений, т.е. даже если у вас даже нет прав на чтение SetACL показывает вам, что там, и печатает разрешения (требуются права администратора).

Хельге Кляйн
источник