Сохранение разрешений NTFS на файлы и папки при копировании или перемещении
Файловая система NTFS с помощью списка контроля доступа (Access Control List, ACL) позволяет гибко организовывать и контролировать доступ к файлам и папкам в системе, раздавать разрешения пользователям или другим объектам. Однако при простом копировании или перемещении объектов ACL разрешения теряются.
Заново выставлять все права вручную в сложной файловой системе с кучей пользователей... занятие для человека с железными яйцами нервами или кому просто больше не чем заняться.
Самый простой способ сохранить права доступа при копировании - воспользоваться Total Commander. Если вы не любите или боитесь работать в командной строке, то это ваш вариант. При копировании/переносе просто отметьте галочкой чекбокс «Copy NTFS permissions».
Возможности командной строки всегда выше, нежели возможности настройки через интерфейс. Более универсальный способ, воспользоваться командой xcopy.
Команда XCOPY
XCOPY более продвинутый вариант команды COPY, но в отличие от последней умеет работать с сетевыми путями и копировать сведения о владельце и данные ACL объекта, то есть права доступа к файлам и папкам в системе NTFS. Синтаксис команды предельно простой:
xcopy источник [назначение] параметры
Допустим нам необходимо сделать резервную копию каталога баз данных 1С D:\bases1C на сетевой накопитель NAS с сохранением списков доступа. Вот как будет выглядеть соответствующая команда:
xcopy D:\bases1C \\NAS\backup1c /E /O
- параметр /Е - копирует каталоги с подкаталогами, включая пустые
- параметр /О - копирует сведения о владельце и ACL
В большинстве случаев этих двух параметров достаточно, полный список можно посмотреть xcopy /?
ICACLS
Утилита ICACLS пришла на смену CACLS из Windows XP. Позволяет отображать и изменять списки управления доступом (Access Control Lists (ACLs) ) к файлам и папкам файловой системы, сохранять список доступа указанного объекта в файл и затем применить этот список к указанному объекту, то есть делать резервную копию прав доступа к объекту.
Приведу наиболее интересный пример использования ICACLS:
icacls c:\каталог /save name /t
icacls c:\другой_каталог /restore name
Итак, первой командой ICACLS создаем резервную копию прав доступа указанного объекта и сохраняем его в файл с именем name. Второй командой применяем резервную копию для другого объекта. Таким образом можно существенно упростить процесс переноса прав доступа с одного каталога на другой.
Стоит отметить, что файл с правами доступа по умолчанию сохраняется в корневую папку активного пользователя. С полным списком возможностей утилиты можно ознакомиться введя команду icacls /?
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.