Мне нужно предотвратить подстановку acl во время копирования папки, и я не знаю, как это сделать. У меня есть два репозитория, источник и место назначения с разными acl. Пользователи должны скопировать (с помощью файлового проводника Windows) некоторые папки из источника в место назначения, но я хочу, чтобы скопированная папка унаследовала целевой acl. Теперь я вижу, что acl копируются и поддерживаются от источника к месту назначения.
Как позволить проводнику Windows копировать источник формы папки в место назначения, используя наследование acl назначения вместо исходного acl? Учтите, что источник и место назначения находятся на одном сетевом томе.
Спасибо
редактировать
Я обнаружил, что если я копирую папки, используя сетевые пути (например, \\ server \ share \ folder), все работает так, как мне нужно (папка наследует целевой acl), проблема заключается только в том, что я использую подключенный сетевой том (например, z: \ общая папка).
Поведение, которое вы описываете как желаемое, на самом деле используется по умолчанию для всех версий Windows. Скопированные файлы и каталоги воссоздаются в месте назначения, наследуя разрешения папки назначения.
В основном есть два условия, при которых это может быть не так:
ваши пользователи не копируют, но перемещение файлы и каталоги в одной файловой системе. В этом случае 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.
вы изменили поведение по умолчанию в Проводнике пользователей Windows на копирование разрешений с файлом, установив ForceCopyAclwithFile
в HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
ключ к 1
.
Предлагаемое чтение: MSKB 310316: Как обрабатываются разрешения при копировании и перемещении файлов и папок