У меня дома работала машина с Windows Server 2003, а также рабочий стол, который я использую для разработки. Сервер обанкротился, но, поскольку мой рабочий стол достаточно мощный, я решил перенести диск с файлового сервера (все было в порядке) на мой компьютер с XP, чтобы сохранить все файлы. Диск подходит нормально и показывает все файлы. Я получаю сообщения об отказе в доступе при попытке работать с некоторыми файлами. Когда я отображаю атрибуты в Проводнике, ни один из них не помечается только для чтения. Когда я просматриваю свойства в каталогах, флажок «Только для чтения» не отмечен, но имеет зеленый фон (который, как я думал, означал смешанное использование для файлов в каталоге). Когда я нажимаю на флажок, чтобы очистить его и нажимаю Применить, диск выполняет некоторую работу и все выглядит хорошо. Однако я продолжаю получать ошибки «Отказано в доступе», файлы по-прежнему не имеют атрибута «Только для чтения», а в свойствах каталога снова отображается зеленый фон в поле «Только для чтения». Я установил флажок, в котором говорится, чтобы применить изменения к папке и всем файлам / подпапкам под ней.

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

3 ответа3

1

Я никогда не мог заставить SubInACL делать то, что я хотел. Я нашел то, что оказалось удивительно простым решением. Когда я скопировал файлы в другой раздел, который отформатировал на компьютере с XP, мои проблемы исчезли. Я мог обрабатывать файлы любым способом, который выбрал, включая некоторые файлы, которые представляли собой данные SQL Server и файлы журналов. Я был в состоянии присоединить БД к экземпляру SQL Server 2005 на компьютере с XP без проблем.

Я могу только догадываться, что владение файлами и разрешения для этих файлов были привязаны к идентификаторам, о которых XP ничего не знала, поэтому любые попытки изменить это, должно быть, были заблокированы. Мне интересно, что SubInACL не переназначается, потому что не может определить, кто был удален.

0

К сожалению, полезный инструмент не работает на XP (не то, что я могу найти). Что вы можете сделать, так это получить инструмент SubInACL и запустить команды.

subinacl /subdirectories X:\*.* /setowner=user
subinacl /subdirectories X:\*.* /grant=user=F

Замена пользователя вашим именем пользователя и X:\ буквой диска, на который отображается диск.

Очевидно, сделать это на свой страх и риск :)

0

Вы пытались завладеть файлами? Вам понадобятся права администратора.

В проводнике WinXP перейдите в корневой каталог диска, щелкните правой кнопкой мыши папку или файл и выберите "Свойства". Перейдите на вкладку "Безопасность", нажмите "Дополнительно". Перейдите на вкладку Владелец. Он должен отобразить текущего владельца элемента, а затем предоставить вам список владельцев, на которых вы можете изменить. Выберите свой идентификатор пользователя в поле выбора, установите флажок "Заменить владельца на подконтейнеры и объекты" и нажмите "ОК".

Вероятно, вы можете сделать это из командной строки с помощью cacls или другой команды. К сожалению, WinXP не включает команду takeown.exe как Vista и Win7.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .