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

Windows ACL во время копирования проводника

Мне нужно предотвратить подстановку acl во время копирования папки, и я не знаю, как это сделать. У меня есть два репозитория, источник и место назначения с разными acl. Пользователи должны скопировать (с помощью файлового проводника Windows) некоторые папки из источника в место назначения, но я хочу, чтобы скопированная папка унаследовала целевой acl. Теперь я вижу, что acl копируются и поддерживаются от источника к месту назначения.

Как позволить проводнику Windows копировать источник формы папки в место назначения, используя наследование acl назначения вместо исходного acl? Учтите, что источник и место назначения находятся на одном сетевом томе.

Спасибо

редактировать

Я обнаружил, что если я копирую папки, используя сетевые пути (например, \\ server \ share \ folder), все работает так, как мне нужно (папка наследует целевой acl), проблема заключается только в том, что я использую подключенный сетевой том (например, z: \ общая папка).

Поведение, которое вы описываете как желаемое, на самом деле используется по умолчанию для всех версий Windows. Скопированные файлы и каталоги воссоздаются в месте назначения, наследуя разрешения папки назначения.

В основном есть два условия, при которых это может быть не так:

  1. ваши пользователи не копируют, но перемещение файлы и каталоги в одной файловой системе. В этом случае ACL файловой системы не изменяются, поскольку операция «перемещения» просто перезаписывает указатели на место назначения в файловой системе и ничего не делает с ACL (которые хранятся в другом атрибуте). Это поведение можно изменить, установив MoveSecurityAttributes (DWORD) значение в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer ключ к 0 на всех ваших клиентских машинах. Обратите внимание, что для работы MoveSecurityAttributes в более новых версиях Windows (начиная с Vista / Server 2008) вам необходимо установить исправление, как описано в MS KB 2617058: подраздел реестра "MoveSecurityAttributes" не работает в Windows 7, Windows Vista, Windows Server 2008 или Windows Server 2008 R2.

  2. вы изменили поведение по умолчанию в Проводнике пользователей Windows на копирование разрешений с файлом, установив ForceCopyAclwithFile в HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer ключ к 1.

Предлагаемое чтение: MSKB 310316: Как обрабатываются разрешения при копировании и перемещении файлов и папок