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

Каковы требования ROBOCOPY / SEC?

Я только что заметил странное поведение при использовании ROBOCOPY / SEC, которое я не могу объяснить ...

Мы требуем, чтобы папка {TEMPLATE}, содержащая +50 подпапок с настраиваемыми правами доступа, копировалась для каждого нового проекта. Для этого я создал простой пакетный скрипт, который выполняет:

ROBOCOPY "\\SHARE\INFO\{TEMPLATE-NL}" "\\SHARE\PROJECTS\NEW_PROJECT" /E /SEC

Сама папка имеет полный доступ для всех. Пользователь, выполняющий пакетный сценарий, имеет полный доступ к \ SHARE \ PROJECTS.

Когда у этого пользователя есть доступ на чтение (включая права на чтение) к \ SHARE \ INFO {TEMPLATE-NL}, ROBOCOPY завершится ошибкой и скопирует только первый уровень папок с определенными правами доступа.

Чтобы исправить это, мне пришлось предоставить этому пользователю полный доступ к \ SHARE \ INFO {TEMPLATE-NL}.

Как идет? И есть ли способ обойти это? Я не хочу, чтобы этот пользователь мог изменять разрешения шаблона.

Если я правильно интерпретировал ваш сценарий, это именно то, что ожидалось:

  • Разрешения на исходный каталог не дают пользователю права вносить изменения.

  • Вы копируете эти разрешения в целевой каталог.

  • Следовательно, пользователь больше не может вносить изменения в целевой каталог, и robocopy не работает.

Если у пользователя есть права администратора (на машине, на которой работает robocopy, а также на конечном сервере), вы можете использовать /B возможность переопределить разрешения.

В противном случае вы могли бы заставить его работать как двухэтапный процесс, сначала скопировав все файлы и каталоги без копирования безопасности, т. Е. Используя /COPY:DAT а затем исправьте разрешения как отдельный шаг, используя /IS и /COPY:S параметры.