Backup прав ntfs
Иногда возникает ситуация, когда необходимо добавить права новому пользователю или изменить права существующему в директории со сложной структурой. Такая папка могла сложиться исторически. В этой папке могут, к примеру, существовать папки отделов, личные папки с разными уровнями доступа. Такая ситуация является не очень хорошей, но затраты и усилия на нормальную структуризацию могут быть очень большими.
Итак, существует бесплатная утилита microsoft- Subinacl.exe, входящая в пакет Windows Server 2003 Resource Kit Tools, которая позволяет сохранять права пользователей в определенной папке.
Пишем bat файл, который облегчит работу:
@echo off
If {%3}=={} @echo Syntax: NTFSBKP DriveOrFolder DestinationFolder BKP^|RST&goto :EOF
if not exist %1 @echo NTFSBKP — %1 NOT FOUND.&goto :EOF
if not exist %2 @echo NTFSBKP — %2 NOT FOUND.&goto :EOF
if /i {%1}=={%2} @echo Syntax: NTFSBKP DriveOrFolder DestinationFolder BKP^|RST&goto :EOF
if /i {%3}=={BKP} goto OK
if /i {%3}=={RST} goto OK
@echo Syntax: NTFSBKP DriveOrFolder DestinationFolder BKP^|RST&goto :EOF
:OK
setlocal
set DorF=%1#
set DorF=%DorF:"=%
set DorF=%DorF:\#=%
set DorF=%DorF:#=%
set Fld=%2#
set Fld=%Fld:"=%
set Fld=%Fld:\#=%
set Fld=%Fld:#=%
set Sw=%3
set F1=%DorF%
set F1=%F1::\=_%
set F1=%F1:\=_%
set F2="%Fld%\%F1%_ALL.log"
set F1="%Fld%\%F1%.log"
if /i «%Sw%» EQU «RST» goto Restore
set D1="%DorF%"
set D2="%DorF%\*.*"
if exist %F1% del /q %F1%
if exist %F2% del /q %F2%
d:\subinacl.exe /noverbose /nostatistic /outputlog=%F1% /subdirectories %D1% /display
d:\subinacl.exe /noverbose /nostatistic /outputlog=%F2% /subdirectories %D2% /display
endlocal
goto :EOF
:Restore
if not exist %F1% goto :Rest1
if not exist %F2% goto :Rest2
d:\subinacl /nostatistic /playfile %F1%
d:\subinacl /nostatistic /playfile %F2%
endlocal
goto :EOF
:Rest1
@echo NTFSBKP %1 %2 %3 — %F1% NOT FOUND.
endlocal
goto :EOF
:Rest2
@echo NTFSBKP %1 %2 %3 — %F2% NOT FOUND.
endlocal
Синтаксис NTFSBKP.bat:
NTFSBKP DriveOrFolder DestinationFolder BKP|RST
Где:
DriveOrFolder — это диск или папка, которая содержит файлы и подкаталоги,
с которых необходимо скопировать NTFS доступ.
DestinationFolder — это папка, в которой будут находиться файлы с бэкапами.
BKP|RST : BKP — сохранить NTFS доступ, RST — восстановить NTFS доступ из ранее сохраненных параметров.
Папку с 80000 файлов скрипт сохраняет примерно 15-20 минут, результирующий файл был размером 109 мегабайт.
Восстанавливал он дольше- минут 30-40.
Понравилась статья? Подписывайтесь на мою ленту RSS.
Популярность: 11%
Также почитайте эти записи:
- Функциональные уровни домена и леса (1)
- Сообщение об ошибке при назначении IP адреса (4)
- Как узнать время работы Windows (uptime)? (5)
5 комментариев
Оставить комментарий
Поиск по сайту
Облаго тегов
Партнеры
- Ездили в Нижневартовск, трубы в ппу изоляции там не редкость.
- ремонт акпп
- Удобно, системы безопасности екатеринбург.
Популярные статьи
- Программы для работы с веб- камерами
- Как узнать mac адрес сетевой карты удаленно
- Чтение ext4 разделов в Windows
- Как обжать кабель
- Основные сочетания клавиш Windows XP
- Доступ к виртуальной машине из интернета. Осваиваем port mapping в vmware
- MySQL: Optimize Table
- Ubuntu. Как узнать размер папок в директории?
- Скрипт для проверки индексации сайтов
- WinXp. Закрываем скрытые шары
Действительно очень эффективно, потому что избавляет от кучи ручной работы. Но для меня этот скрипт ничем не лучше архиватора Winrar, который также умеет сохранять разрешения и восстанавливать их, правда вместе с файлами. У меня есть необходимость периодически раздавать права на флешках, чтобы частично обезопасить их от вирусов и защитить клиентские компьютеры от заражения. С этой задачей, приведенный скрипт и утилита SubinACL, не справляются, ибо не устанавливают права на корень тома, что в моём случаем важно. С задачей восстановления разрешений на файлы и директории приведенное решение вполне успешно справляется.
А не легче ли просто переписать нужную файловою структуру при помощи \"Total Commander\", который прекрасно сохраняет NTFS Permissions даже при перемещении огромных массивов информации? Или, м.б., я неправильно понял задачу ?
Можно и так, но я уверен, что вы и сами знаете ответ на заданный вопрос. Что лучше хранить: «огромный массив информации» или же один текстовый файл?
Не работает скрипт и не пойму почему. В параметрах указываю целевую и папку назначения. В папке назначения появляются 2 файла, но оба размером 1Кб и пустые. Целевая директория состоит из порядка 150 директорий, внутри тоже очень много файлов.
ОС Win2003 rtktools установлены.
Кстати для работы скрипта Subinacl.exe должен лежать в корне диска D:, либо же путь к этому файлу необходимо править в самом скрипте.
При установке rtktools в переменные среды записывается путь к Subinacl.exe и соответственно можно запускать программу просто через subinacl.
Что должно быть после окончания работы скрипта?
Когда будет возможность — перепроверю работу скрипта, может какую строчку wordpress съел.