«Ошибка применения безопасности - доступ запрещен» при изменении прав доступа к файлам на Windows Server 2008

20

Я администратор на сервере Windows 2008. Когда я пытаюсь изменить права доступа к файлу в каталоге, я получаю сообщение об ошибке:

Ошибка применения безопасности

Доступ запрещен.

Я администратор на машине, и я убедился, что ничто не заблокировало файл (ы) (с помощью Process Explorer ). Я даже загрузил другого пользователя, у которого был сеанс удаленного рабочего стола.

Некоторые из файлов, на которые он жалуется, находятся в .hgпапке, так как в каталоге, над которым я работаю, находится репозиторий Mercurial.

Я заметил, что что-то в каталоге установлено только для чтения, поэтому я снял флажок и применил. Выглядело, как будто это работает, но, глядя снова, он вернулся к режиму «только для чтения», а настройка разрешений все равно не удалась.

В IIS есть сайт, использующий подкаталог этого каталога.


Обновить:

Я только что нашел эту статью о такой проблеме. В примечании внизу упоминается, что если он не работает, проверьте LockHunter . Он сказал мне, что каталог был заблокирован IIS, поэтому я запустил iisreset -stopи снова попытался установить разрешения. Та же ошибка. :(

adambox
источник

Ответы:

19

Это может произойти, если у вас действительно нет доступа к этому каталогу. В Windows вы можете заблокировать администратора. Наткнулся на эту последнюю неделю, на самом деле. Проверьте разрешения для этого каталога, чтобы убедиться, что администраторы в списке. Если вы даже не можете этого сделать, вам сначала нужно стать владельцем папки (это вкладка в диалоговом окне «Дополнительные разрешения»).

sysadmin1138
источник
2
Глядя на папку верхнего уровня, над которой я работаю, администраторы имеют полный доступ. Я думал, что у меня уже есть право собственности на него, но я просто попытался взять его снова, убедившись, что флажок применяется рекурсивно. Это работает сейчас! Я не могу быть уверен, что другой админ ничего не сделал, пока я не искал: P
adambox
@adambox У меня только что возникла проблема в новой среде с недавно созданной папкой, и я уверен, что в то время никто не делал ничего в системе. Повторно применяя себя, как владелец работал.
Стейн
19

Я решил эту проблему с помощью следующих шагов:

  1. Откройте командную строку «Как администратор»
  2. Запустите следующие команды:

takeown /f G:\folder /r /d y icacls G:\folder /grant administrators:F /T

REF: http://www.richardawilson.com/2013/12/an-error-occurred- while-applying.html

чэн бо
источник
2

Если кто-то еще сталкивался с этой проблемой - это случилось для меня, когда я хотел добавить пользователя учетной записи службы в папку, содержащую тысячи файлов, и для многих из них возникла ошибка. MDSN говорит, что если вы нажмете «Продолжить», он все еще применяет разрешение для этого файла. Проблема в том, что никто не хочет нажимать на нее тысячи раз.

В конце концов сработало изменение владельца (вкладка «Безопасность» -> «Дополнительно» -> «Владение»). Я изменил владельца на пользователя, отличного от оригинала, и применил его ко всем подпапкам. После того, как он закончился, я изменил его обратно на первоначального владельца и снова решил применить ко всем подпапкам.

После этого ошибка больше не возникает при применении разрешений. Похоже, вышеописанная процедура сбрасывает все ошибки, которые есть в папках и файлах.

Алесь Поточник Хахонина
источник
Простого повторного применения первоначального владельца, без смены владельца, было достаточно, чтобы решить эту проблему для меня.
Стейн
1

попробуйте снова с помощью администратора по умолчанию. В Windows 7 / Server 2008 существуют ограничения типа UAC, которые не применяются к администратору по умолчанию. При использовании других административных учетных записей или учетных записей домена часто возникают ошибки типа «отказ в доступе» при применении разрешений. Я не тот, кто выключает UAC, нам просто нужно научиться работать в более защищенной системе.

канадец
источник
1

Я пришел сюда через Google, хотя и очень поздно на вечеринку, но, надеюсь, может кому-то помочь.

в моем случае причина в простом названии папки в определенной родительской папке, после того как я избавился от специальных символов, все они идут нормально, переходя во владение обычно через графический интерфейс.

ioojimooi
источник
0

Вам может понадобиться загрузить сервер и выполнить команду cacls через скрипт запуска, прежде чем он сможет быть заблокирован.

повторный показ
источник
0
takeown /f G:\folder /R /A /D y 

/ A исключает необходимость администраторов icacls после. Важно помнить, что это удалит все существующие ранее разрешения, и пользователи, активно использующие эту папку, больше не будут иметь доступа.

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

Майкл Конрад
источник