Ошибка доступа к файлу 5 0x00000005 доступ запрещен 1c
Обновлено: 21.11.2024
В рамках ежегодной репетиции аварийного восстановления EPM мы получили требование переместить файлы резервных копий приложения Prod из сетевого расположения PROD в сетевой путь аварийного восстановления.
В этом посте мы увидим, как мы можем RoboCopy копировать файлы резервных копий EPM из одного сетевого расположения в другой сетевой путь.
Почему ROBOCOPY?
Если вы копируете файлы с одного сетевого пути на другой и у вас Windows Vista или более поздние операционные системы, то Robocopy будет лучшим выбором, чем любой другой вариант. Потому что вам не нужно возиться с сопоставлением дисков, так как он прекрасно обрабатывает пути UNC.
Robocopy не является сторонним программным обеспечением. Он является родным (встроенным) для всех версий Windows Vista и более поздних версий.
Обычно она намного надежнее, чем команда xcopy, и предоставляет гораздо больше возможностей.
Robocopy терпима к прерываниям во время копирования, т. е. может продолжить с того места, на котором остановилась, если по какой-то причине была остановлена. Он может автоматически восстанавливаться после определенных типов сетевых сбоев.
Прочитайте Link1 и Link2 для получения дополнительной информации о ROBOCOPY и ее различных параметрах.
Сценарий, использующий ROBOCOPY для копирования резервных копий EPM из PROD в сетевой путь аварийного восстановления:
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set "dt=%%a"
::Форматировать вывод команды WMIC в формате DDMMYYYY
set "YY=%dt:~0,4%"
set "MM=%dt :~4,2%"
установить "DD=%dt:~6,2%"
установить "today_date=%DD%%MM%%YY%" p>
::Define Source path
set sourcepath1=\\PROD_Network_Share\data\EPM_Backups\%today_date%
set sourcepath2=\\PROD_Network_Share\data\EPM_Backups\DataZip
set sourcepath3=\\PROD_Network_Share\data\EPM_Backups\Scripts
::Define Destination path
set destinationpath1=\\DR_Network_Share\data\EPM_Backups_Copy\% Today_date%
установить целевую папку2=\\DR_Network_Share\data\EPM_Backups_Copy\DataZipCopy
установить целевую папку3=\\DR_Network_Share\data\EPM_Backups_Copy\ScriptsCopy\%today_date%
::Определить путь к журналу
set logfile=E:\Admin\Prod_To_DR_Copy.log
::Выполнить команды RoboCopy
REM Скопировать все файлы, папки и подпапки из источника в место назначения
robocopy %sourcepath1% %destinationpath1% /E /COPY:DAT /NP /LOG+:"%logfile%"
REM Скопировать сегодняшнюю дату(DDMMYY).zip-файл из источника в место назначения
robocopy %sourcepath2% %destinationpath2% %today_date%.zip /COPY:DAT /NP /LOG+:"%logfile%"
REM Скопировать все файлы с расширениями .sh, .mxl, .ksh, .scr из источника в место назначения
robocopy %sourcepath3% %destinationpath3% *.sh *.mxl *.ksh *.scr /COPY:DAT /NP /LOG+:"%logfile%"
- /E = Копировать файлы, включая подпапки (даже пустые)
- /COPY:copyflag[s] = что КОПИРОВАТЬ для файлов. Здесь мы выбрали DAT: D=данные, A=атрибуты, T=метки времени
- /NP = No Progress — не отображать % скопированного текста в лог-файле; это уменьшает размер файла.
- /LOG+:logfile = вывод состояния в файл журнала (+= добавление к существующему журналу).
Когда я пытался определить правильный набор параметров для команды ROBOCOPY, я несколько раз сталкивался с этой ошибкой.
Эта ошибка обычно возникает из-за того, что RoboCopy пытается скопировать параметры безопасности файлов, что приводит к некоторому несоответствию прав доступа к файлам.
В RoboCopy есть переключатель /B для копирования в режиме резервного копирования, но режим резервного копирования не может обойти явные ACL-списки отказа NTFS, если копировщик не является владельцем объектов.
Параметр /COPY:copyflag[s] может принимать несколько значений в зависимости от того, что вы хотите скопировать для файлов. Чтобы скопировать ВСЮ информацию о файле (эквивалентно /COPY:DATSOU), есть параметр /COPYALL.
Чтобы устранить вышеупомянутую ошибку, следует использовать /COPY:DAT вместо параметра /COPYALL, поскольку /COPY:DAT игнорирует списки контроля доступа NTFS (параметр COPY:S) файлов, которые вы копируете.
Это работает, потому что /COPYALL эквивалентно /COPY:DATSOU, D=Data, A=Attributes, T=Timestamps, S=Security=NTFS ACL, O=информация о владельце, U=auditing Информация. В то время как нам в основном нужны данные и временные метки файлов для резервных копий EPM.
Я использую командную строку с повышенными привилегиями, а также вхожу в систему как администратор домена. Я думал, что использование переключателя /B не приведет к этой ошибке?
Заранее благодарим за помощь.
MB13977
ОП MB13977
В конце концов все сводилось к правам доступа к файлам. В итоге мне пришлось взять на себя ответственность, а затем предоставить права администратора.
Для этого я создал два пакетных файла со следующими командами:
забрать /F \AppData /R /D y
icacls\AppData/reset
5 ответов
ТФЛ
- отметить 71 лучший ответ
- thumb_up – 128 благодарных отзывов
Возможно, доступ к рассматриваемой папке действительно запрещен. В папке Windows есть куча папок, которые обычно недоступны.
ОП MB13977
Спасибо за ответ, tfl.
Похоже, это профили, различные файлы в формате . \AppData\Роуминг\. .thmx среди прочего.
ТФЛ
- отметить 71 лучший ответ
- thumb_up – 128 благодарных отзывов
Да, вероятно, они тоже заблокированы.
Можно попробовать изменить списки ACL, но это может оказаться довольно утомительной работой.
ОП MB13977
Я думал, что использование /B для режима резервного копирования все равно скопирует их.
Я нашел этот пост, примерно на 8 постов ниже от Н. Наика, о скрипте для исправления. Как вы думаете?
ОП MB13977
В конце концов все сводилось к правам доступа к файлам. В итоге мне пришлось взять на себя ответственность, а затем предоставить права администратора.
Для этого я создал два пакетных файла со следующими командами:
забрать /F \AppData /R /D y
icacls\AppData/reset
Эта тема заблокирована администратором и больше не открыта для комментариев.
Чтобы продолжить это обсуждение, задайте новый вопрос.
Искра! Серия Pro — 28 марта 2022 г.
Прекрасный понедельник! С возвращением на работу и с возвращением в Spark! Я надеюсь, что ваш день превратится во все, что может быть! В любом случае, сделайте селфи и опубликуйте его ниже. Просто напоминание, если вы читаете.
Странные маршруты в таблице маршрутизации
Привет, ребята! Итак, у меня есть вопрос относительно некоторых действительно странных маршрутов в моей таблице маршрутизации. Недавно я перевел свой маршрутизатор Huawei B818 4G в режим моста за pfSense, который теперь является моим основным маршрутизатором. При этом я замечаю эти статические записи, которые появляются и.
Сколько ИБП у вас дома?
Я просто осматривал аккумуляторы (на вздутие и уменьшение времени автономной работы) и решил, что пришло время спросить: Сколько у вас дома? Я запускаю (все APC, потому что это просто «случилось»), лол): 1500 ВА в подвале 2. - разместить стойку Chatsworth 650 в моем домашнем офисе 600 в офисе жены.
Что бы вы сделали?
Итак, я работаю в MSP, который работает круглосуточно и без выходных.Старший инженер в нежелательную смену с 23:00 до 8:00 уходит. Теперь у меня есть возможность перейти на эту должность, насколько больше это потребует компенсации в процентах от того, что я зарабатываю сейчас? и я скажу это.
Очень необычный спам. Ответить на темы + ссылка OneDrive + файл PWD
Поэтому я недавно заметил резкое увеличение входящего спама и заметил очень необычный новый спам. Он имеет несколько очень специфических характеристик, которые отличают его от обычных спам-сообщений: 1 – он содержит настоящие цепочки ответов по электронной почте2 – он содержит настоящие имена.
ОШИБКА 5 (0x00000005) Отказано в доступе при перемещении данных локального файлового ресурса в общий файловый ресурс Azure
Здравствуйте, команда! Получение ошибки отказа в доступе и невозможность скопировать разрешение NTFS при выполнении робокойки для перемещения локальных данных в общий файловый ресурс хранилища Azure. Общий файловый ресурс Azure — это присоединение к домену, для которого требуется разрешение SMB с повышенными правами и общее разрешение владельца. Также владелец исходной локальной папки. Пробовал переключатель дифференциала, например /B / ZB / COPY: DATSO, но безуспешно. Копируются только данные, а не разрешение. Пробовал все варианты, предложенные на форуме ниже, безуспешно,
Есть ли какие-либо другие предложения по исправлению этого, пожалуйста??
Заранее спасибо
2 ответа
Следуйте инструкциям, но нам все равно не удалось скопировать разрешение с помощью robocopy, и мы используем аутентификацию AD, а не Azure AD.
В любом случае, просто добавим, что мы смогли скопировать разрешение через Robocopy после отключения безопасной передачи файлов на уровне учетной записи хранения. Надеюсь, это поможет и другим.
@SPD-4842 Можете ли вы в целях тестирования использовать службу синхронизации файлов Azure. Создайте каталог в облачной конечной точке «Общий файловый ресурс Azure» и выполните приведенную ниже команду, чтобы принудительно обнаружить изменение, и папка была успешно синхронизирована с локальной общей папкой.
Invoke-AzStorageSyncChangeDetection -ResourceGroupName "myResourceGroup" -StorageSyncServiceName "myStorageSyncServiceName" -SyncGroupName "mySyncGroupName" -CloudEndpointName "myCloudEndpointName" -Path "Data","Reporting\Templates"
Если вы используете учетные данные Azure AD, начните использовать ключ учетной записи хранения (вы можете проверить ссылку ниже в разделе разрешений на уровне общего ресурса. Управление доступом к файловым ресурсам Azure — локальная проверка подлинности AD DS | Microsoft Docs)
Я хочу поговорить с вами в автономном режиме для более подробного ознакомления и предоставления быстрой специализированной помощи. Отправьте электронное письмо с темой «Attn:subm» в AzCommunity[at]Microsoft[dot]com со ссылкой на эту ветку и Azure идентификатор подписки, имя учетной записи хранения и общий файловый ресурс хранилища Azure Azure, я свяжусь с вами. Еще раз приносим извинения за неудобства, связанные с этой проблемой.
Спасибо за вашу статью о том, как сбросить пароль администратора на Seagate NAS (сетевое хранилище) — это единственная статья, которую я смог найти на эту тему. У меня есть связанный с этим вопрос. Я выполнил полный сброс NAS (удалив все данные) и воссоздал общие сетевые ресурсы, и теперь я готов скопировать данные обратно. Раньше для этого я использовал копирование файлов Windows, но иногда это не удается, и мне приходится начинать заново. Я провел исследование по этому вопросу, и, насколько я понимаю, робокопирование является гораздо более надежным методом и фактически возобновит передачу, если она будет прервана. Проблема в том, что каждый раз, когда я пытаюсь скопировать данные обратно на NAS, я получаю сообщение об ошибке «ОШИБКА 5 (0x00000005) Изменение атрибутов файла». Кажется, я не могу найти ответ на этот вопрос и нуждаюсь в вашем опыте. Не могли бы вы помочь? "
Я спросил Джерри, не хочет ли он, чтобы я подключился к его машине с помощью моей службы поддержки удаленных рабочих столов, чтобы посмотреть поближе, и он согласился.
Ниже я расскажу о своих выводах.
Как исправить: NAS, Robocopy ERROR 5 (0x00000005) Изменение атрибутов файла
После некоторых исследований выяснилось, что при копировании файлов robocopy (по умолчанию) пытается сохранить атрибуты файлов в дополнение к данным и отметкам времени на целевом носителе.
Поскольку NAS представляет собой мини-компьютер (коробку) Linux с подключенными к нему жесткими дисками, попытка изменить атрибуты файлов приведет к ошибке, поскольку Linux контролирует хранилище и разрешает только ограниченные изменения файлов, даже если копирование файла.
Поэтому способ обойти эту проблему — не копировать атрибуты файла с помощью аргументов командной строки robocopy.
Например, будет работать следующая команда:
robocopy e:\temp\ s:\ /e /copy:DT /w:1 /r:1 /v /log:"c:\temp\robocopy_copy_back_to_nas.txt"
Предполагается, что e:\temp\ является исходным каталогом, а s:\ — целевым (NAS). Переключатель /copy:DT указывает robocopy копировать данные и метки времени (но не атрибуты файла), в то время как /w:1 и r:/1 говорят повторять попытку не более 1 раза, если ошибка копирования файла с интервалом в 1 секунду между попытками. Строка /log:"c:\temp\robocopy_copy_back_to_nas.txt" означает создание журнала копирования файла и его сохранение в c:\temp\robocopy_copy_back_to_nas.txt, в то время как ключ /v означает регистрацию подробных ошибок, таких как пропущенные файлы или файлы с ошибками.
Как просмотреть вывод журнала Robocopy (Powershell)
Если вы хотите просмотреть журнал во время его копирования, откройте командную строку powershell и запустите следующий скрипт:
Get-Content c:\temp\robocopy_copy_back_to_nas.txt -tail 1 -wait
Это предоставит вам окно активности (с интервалом в 1 секунду), чтобы увидеть прогресс. В случае Джерри потребовалось больше недели, чтобы скопировать данные обратно на NAS, так что это было невероятно полезно, к тому же он может проанализировать файл журнала на наличие ошибок, если это необходимо, как описано далее.
Как просмотреть журнал Robocopy на наличие ошибок
Чтобы просмотреть приведенный выше файл журнала на наличие слова "ошибка", вы можете использовать следующий синтаксис через командную строку (с ограничениями):
введите c:\temp\robocopy_copy_back_to_nas.txt |findstr -i error >c:\temp\robocopy_error_log.txt
Все сообщения об ошибках будут выводиться в файл c:\temp\robocopy_error_log.txt, однако вам может потребоваться открыть журнал, чтобы найти точную причину ошибки. Откровенно говоря, это может быть неважно, потому что, если файл не копируется, он, скорее всего, никогда не копируется (например, из-за ошибки носителя). Тем не менее, стоит просмотреть несколько ошибок, чтобы убедиться, что сообщения об ошибках одинаковы. В этом случае может быть проблема с источником или, возможно, с аргументами robocopy.
Как регистрировать только ошибки Robocopy
Если вы хотите регистрировать только только ошибки от robocopy независимо от причины ошибки, вы можете использовать этот метод:
robocopy [источник] [назначение] /copy:DT /w:1 /r:1 /nfl /ndl /njh /njs /ns /nc /np >> log.txt
Надеюсь, это поможет.
Дополнительная поддержка один на один: от Денниса
Если все это вам не по силам или у вас возникли проблемы с настройкой NAS/копированием файлов и т. д., я могу помочь, воспользовавшись моей службой поддержки удаленного рабочего стола. Просто свяжитесь со мной, кратко описав проблему, и я свяжусь с вами как можно скорее.
Есть вопрос или проблема с компьютером? Спросите Денниса!
Мне нужно больше вопросов. Если у вас есть вопрос по компьютеру или даже проблема с компьютером, которую нужно решить, пожалуйста, напишите мне свой вопрос, чтобы я мог написать больше статей, подобных этой. Я не могу обещать, что отвечу на все сообщения, которые получу (в зависимости от объема), но сделаю все возможное.
Здравствуйте,
Я пытаюсь обновить временные метки каталогов/файлов с помощью robocopy с моего ПК (Win7), но получаю сообщение об ошибке "ОШИБКА 5 (0x00000005) Отметка времени в целевом каталоге. Доступ запрещен".
Я использую следующую команду:
источник назначения robocopy /e /COPY:DT /DCOPY:T /TIMFIX /FFT
Владелец набора данных и пользователь, выполнивший вход на ПК, совпадают. Набор данных отображается как диск через общий ресурс SMB, и у меня нет проблем с копированием/удалением содержимого в общем ресурсе. Свойства безопасности в проводнике win показывают полный доступ. Это похоже на проблему, с которой столкнулся @Cosmo_Kramer, но я понятия не имею, что делает это исправление и как его реализовать.
Вывод getfacl общего ресурса (getfacl /mnt/VOL1/media):
ОС: FreeNAS-12.0-U6
МБ: Supermicro X11SSM-F
ЦП: Intel Xeon E3-1245 v5 @ 3,50 ГГц
ОЗУ: 32 ГБ (2x Kingston 16 ГБ 2133 МГц DDR4 ECC)
Блок питания: Seasonic G-550 80+ Gold
ДИСКИ: 6x 8 ТБ RAIDZ2, 120 ГБ ОС SSD
Арт
Старший участник
аркоМакс
Младший участник
Спасибо, я просмотрел эти страницы, но, честно говоря, не совсем их понимаю. Я технарь, но только в мире окон. У меня нет опыта работы с Unix/Linux, и я действительно не хочу вводить команды в CLI, только предполагая, что произойдет.
Вы не могли бы дать мне более прямые инструкции?
ОС: FreeNAS-12.0-U6
МБ: Supermicro X11SSM-F
ЦП: Intel Xeon E3-1245 v5 @ 3,50 ГГц
ОЗУ: 32 ГБ (2x Kingston 16 ГБ 2133 МГц DDR4 ECC)
Блок питания: Seasonic G-550 80+ Gold
ДИСКИ: 6x 8 ТБ RAIDZ2, 120 ГБ ОС SSD
анодос
Посол
Зачем вам нужен /TIMFIX? Вы пытаетесь автоматически скопировать каталог или весь профиль пользователя?
Одна вещь, которую следует иметь в виду, это то, что по умолчанию FreeNAS имеет параметр samba nfs4:mode = special set. Когда вы просматривали свои разрешения из CLI, у вас было
Это специальные элементы управления доступом, указанные в спецификации NFSv4 для совместимости с битами традиционного режима posix (разрешениями). Они ведут себя не так, как обычно в Windows. Ближайшее приближение — «СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ» и «СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ-ГРУППА», то есть (для упрощения) то, как они появляются, когда nfs4:mode = simple .
Я думаю, что лучший способ обойти это — установить новую наследующую запись ACE в корне вашего общего ресурса для группы, которую вы используете для автоматического копирования файлов. Вы можете сделать это через Проводник. (Можно сделать пользователя, но я предпочитаю управлять разрешениями через группы.)
Читайте также: