С users all users microsoft windows caches

Cached Credentials: вход в Windows под сохраненными учетными данными при недоступности домена

Когда доменный пользователь входит в Windows, по умолчанию его учетные данные (Cached Credentials: имя пользователя и хэш пароля) сохраняются на локальном компьютере. Благодаря этому, пользователь сможет войти на локальный компьютер, даже если контроллеры домена AD недоступны, выключены или на компьютере отключен сетевой кабель. Функционал кэширования учетных данных доменных аккаунтов удобен для пользователей ноутбуков, которые могут получить доступ к своим локальным данным на компьютере, когда нет доступа к корпоративной сети.

Сохраненный кэш доменной учетной записи в Windows

Вход на компьютер под кэшированными данными для пользователя доступен, если он ранее хотя бы один раз авторизовался на этом компьютере, и пароль в домене не был сменен с момента входа. Пароль пользователя в cashed credentials никогда не истекает. Если доменная политика паролей вынудит пользователя изменить пароль, сохраненный пароль пользователя в локальном кэше компьютера не изменится, пока пользователь не войдет на компьютер под новым паролем. Т.е. если пароль пользователя в AD был изменен после последнего входа на компьютер, и компьютер находился все время в офлайн режиме без доступа в сеть, то пользователь сможет войти на этот компьютер под старым паролем.

Если домен Active Directory недоступен, Windows проверяет, что введенные имя пользователя и пароль соответствуют сохраненному локальному хэшу и разрешает локальный вход на компьютер.

Сохраненные пароли хранятся в ветке реестра HKEY_LOCAL_MACHINE\Security\Cache (файл %systemroot%\System32\config\SECURITY). Каждый сохранённый хэш содержится в Reg_Binary параметре NL$x (где x – индекс кэшированных данных). По умолчанию даже у администратора нет прав на просмотр содержимого этой ветки реестра, но при желании их можно легко получить.

Если в локальном кэше для пользователя нет сохранённых учетных данных, то при входе на офлайн компьютер, появится сообщение:

Настройка Cached Credentials с помощью групповых политик

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

По-умолчанию в Windows 10 /Windows Server 2016 сохраняются учетные данные для 10 пользователей. Чтобы изменить это количество, используется параметр GPO Interactive logon: Number of previous logons to cache (in case domain controller is not available) (Интерактивный вход в систему: количество предыдущих подключений к кэшу в случае отсутствия доступа к контроллеру домена), который находится в разделе Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Можно задать значение от 0 до 50.

При входе под сохраненными данными, пользователь не видит, что контроллер домена не доступен. С помощью GPO можно вывести уведомление о входе под кэшированными данными. Для этого нужно включить политику Report when logon server was not available during user logon (Сообщать, когда сервер входа недоступен при входе пользователя) в разделе Compute configuration -> Policies -> Administrative templates -> Windows Components -> Windows Logon Options.

В этом случае при входе пользователя в трее будет появляться уведомление:

Читайте также:  Pcmover для windows 10

  • ValueName: ReportControllerMissing
  • Data Type: REG_SZ
  • Values: TRUE

Безопасность кэшированных учетных данных в Windows

Локальное кэширование учетных данных несет ряд рисков безопасности. Злоумышленник, получив физический доступ к компьютеру/ноутбуку с кэшированными данными, может с помощью брутфорса расшифровать хэш пароля (тут все зависит от сложности и длины пароля, для сложных паролей время подбора огромное). Поэтому не рекомендуется использовать кеширование для учетных записей с правами локального администратора (или, тем более, доменного администратора).

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

Для доменов с функциональным уровнем Windows Server 2012 R2 или выше можно добавить учетные записи администраторов домена в группу Protected Users. Для таких пользователей запрещено локальное сохранение кэшированных данных для входа.

Можно создать в домене отдельные политики по использованию кэшированных учетных данных для разных устройств и категорий пользователей (например, с помощью GPO Security filters, WMI фильтров, или распространению настроек параметра реестра CashedLogonsCount через GPP Item level targeting).

Для мобильных пользователей – CashedLogonsCount = 1
Для обычных компьютеров – CashedLogonsCount = 0

Такие политики снизят вероятность получения хэша привелигированных пользователей с персональных компьютеров.

Управление папкой установки глобальных пакетов, кэшем и временными папками Managing the global packages, cache, and temp folders

После каждой установки, обновления или восстановления NuGet управляет пакетами и сведениями о них в нескольких папках за пределами структуры проекта: Whenever you install, update, or restore a package, NuGet manages packages and package information in several folders outside of your project structure:

name Name Описание и расположение (в зависимости от пользователя) Description and Location (per user)
global‑packages global‑packages В папку global-packages NuGet устанавливает любой загруженный пакет. The global-packages folder is where NuGet installs any downloaded package. Каждый пакет полностью развертывается во вложенную папку, соответствующую идентификатору пакета и номеру версии. Each package is fully expanded into a subfolder that matches the package identifier and version number. Проекты в формате PackageReference всегда используют пакеты непосредственно из этой папки. Projects using the PackageReference format always use packages directly from this folder. При использовании packages.config пакеты устанавливаются в папку global-packages, а затем копируются в папку packages проекта. When using the packages.config, packages are installed to the global-packages folder, then copied into the project’s packages folder.
  • Windows: %userprofile%\.nuget\packages Windows: %userprofile%\.nuget\packages
  • Mac/Linux:

/.nuget/packages

  • Переопределяет с помощью переменной среды NUGET_PACKAGES параметры конфигурации globalPackagesFolder или repositoryPath (при использовании PackageReference и packages.config соответственно) или свойство MSBuild RestorePackagesPath (только MSBuild). Override using the NUGET_PACKAGES environment variable, the globalPackagesFolder or repositoryPath configuration settings (when using PackageReference and packages.config , respectively), or the RestorePackagesPath MSBuild property (MSBuild only). Переменная среды имеет приоритет над параметром конфигурации. The environment variable takes precedence over the configuration setting.
  • http‑cache http‑cache Диспетчер пакетов Visual Studio (NuGet 3.x +) и dotnet инструмент хранят копии загруженных пакетов в этом кеше (сохраненные как .dat файла), организованные в подпапки для каждого источника пакета. The Visual Studio Package Manager (NuGet 3.x+) and the dotnet tool store copies of downloaded packages in this cache (saved as .dat files), organized into subfolders for each package source. Пакеты не развернуты. Срок действия кэша составляет 30 минут. Packages are not expanded, and the cache has an expiration time of 30 minutes.

    • Windows: %localappdata%\NuGet\v3-cache Windows: %localappdata%\NuGet\v3-cache
    • Mac/Linux:

      /.local/share/NuGet/v3-cache

    • Переопределяет с помощью переменной среды NUGET_HTTP_CACHE_PATH. Override using the NUGET_HTTP_CACHE_PATH environment variable.
    temp temp Папка, в которой NuGet хранит временные файлы, используемые в различных операциях. A folder where NuGet stores temporary files during its various operations.
  • Windows: %temp%\NuGetScratch Windows: %temp%\NuGetScratch
  • Mac/Linux: /tmp/NuGetScratch Mac/Linux: /tmp/NuGetScratch
  • plugins-cache 4.8+ plugins-cache 4.8+ Папка, в которой NuGet хранит результаты запросов на утверждение операций. A folder where NuGet stores the results from the operation claims request.

    • Windows: %localappdata%\NuGet\plugins-cache Windows: %localappdata%\NuGet\plugins-cache
    • Mac/Linux:

      /.local/share/NuGet/plugins-cache

    • Переопределите с помощью переменной среды NUGET_PLUGINS_CACHE_PATH. Override using the NUGET_PLUGINS_CACHE_PATH environment variable.

    NuGet 3.5 и более ранних версий использует папку packages-cache вместо http-cache, которая находится по следующему пути: %localappdata%\NuGet\Cache . NuGet 3.5 and earlier uses packages-cache instead of the http-cache, which is located in %localappdata%\NuGet\Cache .

    Использование кэша и папок global-packages позволяет NuGet избежать скачивания пакетов, хранящихся на компьютере, что в свою очередь улучшает производительность операций установки, обновления и восстановления. By using the cache and global-packages folders, NuGet generally avoids downloading packages that already exist on the computer, improving the performance of install, update, and restore operations. При использовании формата PackageReference папка global-packages также позволяет избежать хранения скачанных пакетов в папках проектов, откуда их можно случайно добавить в систему управления версиями. Кроме того, это снижает общее влияние NuGet на ресурсы хранилища компьютера. When using PackageReference, the global-packages folder also avoids keeping downloaded packages inside project folders, where they might be inadvertently added to source control, and reduces NuGet’s overall impact on computer storage.

    При запросе на извлечение пакета NuGet в первую очередь проверяет папку global-packages. When asked to retrieve a package, NuGet first looks in the global-packages folder. Если не удается найти точную версию пакета, NuGet проверяет все источники пакетов, отличные от HTTP. If the exact version of package is not there, then NuGet checks all non-HTTP package sources. Если пакет отсутствует и там, NuGet ищет его в папке http-cache, если вы не указали с помощью команды dotnet.exe параметр —no-cache или с помощью команды nuget.exe параметр -NoCache . If the package is still not found, NuGet looks for the package in the http-cache unless you specify —no-cache with dotnet.exe commands or -NoCache with nuget.exe commands. Если пакет отсутствует в кэше или кэш не используется, NuGet извлекает пакет по протоколу HTTP. If the package is not in the cache, or the cache isn’t used, NuGet then retrieves the package over HTTP .

    Дополнительные сведения см. в разделе Процесс установки пакета. For more information, see What happens when a package is installed?.

    Просмотр расположения папок Viewing folder locations

    Расположение можно просмотреть с помощью команды nuget locals: You can view locations using the nuget locals command:

    Типичные выходные данные выглядят следующим образом (Windows; user1 —это имя текущего пользователя): Typical output (Windows; «user1» is the current username):

    (Папка package-cache используется в NuGet 2.x. Ее содержимое можно посмотреть с помощью NuGet 3.5 и более ранних версий.) ( package-cache is used in NuGet 2.x and appears with NuGet 3.5 and earlier.)

    Расположения папок можно также просмотреть с помощью команды dotnet nuget locals: You can also view folder locations using the dotnet nuget locals command:

    Типичные выходные данные выглядят следующим образом (Mac/Linux; user1 —это имя текущего пользователя): Typical output (Mac/Linux; «user1» is the current username):

    Чтобы отобразить расположение отдельной папки, используйте http-cache , global-packages , temp или plugins-cache , а не all . To display the location of a single folder, use http-cache , global-packages , temp , or plugins-cache instead of all .

    Очистка локальных папок Clearing local folders

    Если при установке пакета возникают неполадки или вы по иной причине хотите обеспечить установку пакетов из удаленной коллекции, используйте параметр locals —clear (dotnet.exe) или locals -clear (nuget.exe), с помощью которых можно указать конкретную папку, которую нужно очистить, или параметр all , чтобы очистить все папки: If you encounter package installation problems or otherwise want to ensure that you’re installing packages from a remote gallery, use the locals —clear option (dotnet.exe) or locals -clear (nuget.exe), specifying the folder to clear, or all to clear all folders:

    Все пакеты, которые в настоящее время открыты в проектах Visual Studio, нельзя удалить из папки global-packages. Any packages used by projects that are currently open in Visual Studio are not cleared from the global-packages folder.

    Начиная с версии Visual Studio 2017, в меню Инструменты > Диспетчер пакетов NuGet > Параметры диспетчера пакетов выберите Очистить весь кэш NuGet. Starting in Visual Studio 2017, use the Tools > NuGet Package Manager > Package Manager Settings menu command, then select Clear All NuGet Cache(s). Сейчас управлять кэшем через консоль диспетчера пакетов нельзя. Managing the cache isn’t presently available through the Package Manager Console. В Visual Studio 2015 используйте вместо этого команды CLI. In Visual Studio 2015, use the CLI commands instead.

    Ошибки и способы их устранения Troubleshooting errors

    При использовании nuget locals или dotnet nuget locals могут возникать следующие ошибки: The following errors can occur when using nuget locals or dotnet nuget locals :

    Ошибка: процесс не может получить доступ к файлу , поскольку этот файл используется другим процессом или При удалении локальных ресурсов произошел сбой: не удалось удалить один файл (или несколько) Error: The process cannot access the file because it is being used by another process or Clearing local resources failed: Unable to delete one or more files

    Один или несколько файлов в папке используются другим процессом, например открыт проект Visual Studio, который ссылается на пакеты в папке global-packages. One or more files in the folder are in use by another process; for example, a Visual Studio project is open that refers to packages in the global-packages folder. Закройте эти процессы и повторите попытку. Close those processes and try again.

    Ошибка: доступ к пути «» запрещен или Каталог не пуст Error: Access to the path is denied or The directory is not empty

    Отсутствуют разрешения на удаление файлов в кэше. You don’t have permission to delete files in the cache. Измените разрешения папки, если это возможно, и повторите попытку. Change the folder permissions, if possible, and try again. В противном случае обратитесь к системному администратору. Otherwise, contact your system administrator.

    Ошибка: Указанный путь, имя файла или оба значения имеют слишком большую длину. Полное имя файла должно содержать меньше 260 символов, а имя каталога — меньше 248 символов Error: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

    Сократите имена папок и повторите попытку. Shorten the folder names and try again.

    Читайте также:  Деретикс windows 10 x64
    Оцените статью