http://support.microsoft.com/en-us/kb/950934 описывает способ, которым, когда член группы «Администраторы» использует Проводник для перехода к папке, к которой группа «Администраторы» имеет разрешение, пользователю будет предложено «Нажмите« Продолжить », чтобы получить постоянный доступ к этой папке».
Когда они это делают, Explorer изменяет ACL папки, чтобы предоставить этому конкретному пользователю полный доступ к папке. Ссылка MS точно описывает конструктивное ограничение, которое требует, чтобы это было именно так.
Однако это разрушает набор разрешений для этой папки и делает централизованное управление разрешениями практически невозможным. Например, если указанный пользователь позже будет удален из группы администраторов, эта запись ACL все еще существует, чтобы разрешить им доступ к этой папке.
Я не собираюсь отключать UAC (на самом деле я лайк различие между повышенным и не повышенным уровнем), и я рад использовать альтернативные инструменты для навигации и просмотра файлов на повышенном уровне.
Конечное намерение состоит в том, чтобы запустить один из обходных путей, описанных в ссылке MS (либо с использованием отдельного файлового навигатора, жестяная банка запустить с повышенными привилегиями или определить отдельную группу для управления доступом к папкам из белого списка), но все время, когда Explorer продолжает стирать списки управления доступом к папке, по желанию, невозможно определить, где эти обходные пути должны быть применены (за исключением регулярно проверять каждую папку на предмет изменений ACL).
Я просто предпочел бы иметь стандартное сообщение «Доступ запрещен», если я пытаюсь получить доступ к папке с ограниченным доступом при запуске в Проводнике без повышенных прав.
Есть ли параметр (одноразовый для каждого ящика или через GPO), который удаляет это приглашение «получить доступ навсегда», при сохранении других мощностей ОАК?
NB: Я полностью понимаю, почему существует это приглашение, что оно означает и почему поведение такое, как оно есть (хотя я не обязательно согласен с дизайнерским решением). Тем не менее, я должен указать, что я не собираюсь обсуждать обходные пути, связанные с практикой работы моих пользователей, а также достоинства / недостатки членства в группе UAC или администраторов.
Нет, нет.
Единственное реальное решение - использовать для просмотра файлов что-то другое, кроме проводника Windows (и, конечно, запускать его с повышенными правами).
Проблема в том, что explorer.exe
изначально запускается с токеном доступа без прав администратора (для отображения графического интерфейса пользователя), и любые новые сеансы, даже запущенные от имени администратора, наследуют это поведение токена ограниченного доступа. Существует обходной путь для запуска этого первоначального экземпляра Explorer с административным токеном, но тогда все, что вы запускаете из графического интерфейса, наследует токен административного доступа, фактически аннулируя UAC.
На самом деле существует безопасный способ обойти это приглашение для административных пользователей, которые вошли в систему локально.
Затем добавьте ИНТЕРАКТИВНЫЙ участника безопасности и предоставьте ему разрешения для «Список содержимого папки», который автоматически активирует следующие разрешения:
Причина, по которой это работает, заключается в том, что Windows больше не полагается на ваши привилегированные учетные данные / учетные данные администратора для просмотра структуры папок и перечисления содержимого папок. Поскольку «аутентификация» как ИНТЕРАКТИВНАЯ не требует оценки привилегированных учетных данных для перечисления папки, поэтому нет необходимости запускать приглашение UAC.
TL; DR: создайте другую группу параллельно с локальной группой администраторов и добавьте всех, кто имеет право быть администраторами, в обе группы. Затем разрешите этой второй группе быть в ACL для всех файлов и папок. Не входите в систему и не работайте как встроенный администратор.
Эта проблема меня беспокоит довольно давно. Мне становится неприятно постоянно удалять себя из списков ACL папок (а также других пользователей, которые не убирали за собой), когда я просматриваю различные структуры папок. Итак, я прочитал статью, упомянутую в вопросе. Это дало мне понимание, необходимое для написания этого ответа, и я рекомендую прочитать его, прежде чем продолжить.
Суть первоначального вопроса, который меня обеспокоил, заключалась в утверждении авторов, что это «делает централизованное управление разрешениями практически невозможным». Вначале я согласился с этим, но, подумав, вспомнил всю суть принципа «Наименьшие привилегии». Одна из целей учетной записи локального администратора, а также группы локальных администраторов - нарушить этот принцип. В конечном итоге вы не можете ничего отнять у этого пользователя или членов этой группы. Да, в ближайшем будущем им может быть отказано, но у них все еще есть возможность (без использования эксплойтов) преодолеть отказ, предоставив себе доступ к любому запрещенному ресурсу. Таким образом, похоже, что Microsoft считает, что всегда должен быть хотя бы один пользователь, который всегда может каким-то образом получить доступ ко всему. Справедливо. Этот аргумент выходит за рамки настоящего ответа.
Итак, как это влияет на «централизованное управление разрешениями»? Казалось бы, чтобы соответствовать Принципу, вам нужно наполовину притвориться (наполовину я объясню позже), что локальный администратор и группа локальных администраторов не существуют. Помните, что их привилегии нельзя ограничивать, а это значит, что они нарушают Принцип. Вот почему пароль для этой учетной записи хранится так тайно, а членство в этой группе так желательно. Поэтому, если вам нужен такой же эффективный доступ, в корне каждого диска вам необходимо иметь собственного пользователя или группу с полным доступом, которые (в идеале) унаследованы всеми их вложенными папками и файлами.
Однако мы знаем, что на практике этому пользователю или группе обычно будет отказано в доступе, но это часть сути дела. «Администратор» должен быть окончательным арбитром в том, кто имеет и не имеет доступа к какому-либо файлу или папке. «Администратор» воплощен в этом фиксированном пользователе. Да, многие из нас для удобства действуют как «Администраторы», но, поступая так, мы нарушаем Принцип. Чтобы справиться с этим, мы можем удобно помнить (это половина воображаемой части), что группа администраторов существует и что мы можем быть ее членами. Мы можем предоставить упомянутой выше группе (или пользователю) (который может быть самим собой) доступ к ресурсу (который должен унаследовать разрешение в первую очередь) и не беспокоиться о соответствии или требованиях безопасности, потому что эта группа (или пользователь) уже имеет авторизация для этого ресурса, потому что они уже авторизованы действовать как «Администраторы».
Однако в этом есть одна загвоздка. Я по-прежнему не хотел отказываться от удобства входа в систему как «Администратор», поэтому я добавил этого пользователя в группу - и он по-прежнему не работал. Этот пользователь является фиксированным пользователем, и он особенный, и без отключения UAC невозможно удалить с него это «особое» качество. Но в том-то и дело. Microsoft пытается подтолкнуть нас к соблюдению Принципа. Добавив своего пользователя в обе группы, я смог предоставить себе доступ к ресурсу, оставаясь совместимым и защищенным, и избегая раздражающих диалогов.
Вы можете просто запустить CMD или PowerShell от имени администратора.
dir *.* /w /s
или в PowerShell от имени администратора:
Папки:
Get-ChildItem -Recurse -Directory | Measure-Object | %{$_.Count}
Файлы:
Get-ChildItem -Recurse -File | Measure-Object | %{$_.Count}
PS: Get-ChildItem не работает с путями длиннее 260 знаков