В этой статье, мы покажем, как разрешить анонимный доступ к общем сетевым папкам и принтерам на компьютере в рабочей группе или в домене Active Directory. Анонимный доступ к сетевой папке подразумевают, что для доступа к сетевому ресурсу пользователи не нужно выполнять аутентификацию (вводить пароль) и для доступа используется гостевой аккаунт.
По умолчанию при доступе к сетевой папке на удаленном компьютере появляется запрос имени пользователя и пароля (кроме случаев, когда оба компьютера находятся в одном домене, или в одной рабочей группе и на них используются одинаковые аккаунты пользователей с одинаковыми паролями). Анонимный доступ подразумевает, что при подключи к удаленному компьютеру не запрашивается пароль и доступ к общим ресурсам возможет без авторизации.
Настройка локальных политик анонимного доступа в Windows
Для анонимного доступа в Windows используется специальная встроенная учетная запись Гость (guest), которая отключена по-умолчанию.
Чтобы разрешить анонимный (без аутентификации) доступ к компьютеру, нужно включить учетную запись Guest и изменить некоторые параметры локальной политики безопасности Windows.
Откройте консоль редактора локальной GPO (gpedit.msc) и перейдите в раздел Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options)
Настройте следующие политики:
- Учетные записи: Состояние учётной записи ‘Гость’ (Accounts: Guest Account Status): Включен (Enabled);
- Сетевой доступ: разрешить применение разрешений “Для всех” к анонимным пользователям (Network access: Let Everyone permissions apply to anonymous users): Включен (Enabled);
- Сетевой доступ: Не разрешать перечисление учетных записей SAM и общих ресурсов (Network access: Do not allow anonymous enumeration of SAM accounts and shares): Отключен (Disabled).
В целях безопасности желательно также открыть политику “Запретить локальный вход” (Deny log on locally) в разделе Локальные политики -> Назначение прав пользователя и убедиться, что в политике указана учетная запись “Гость”.
Затем проверьте, что в этом же разделе в политике “Доступ к компьютеру из сети” (Access this computer from network) присутствует запись Гость или Everyone, а в политике “Отказать в доступе к этому компьютеру из сети” (Deny access to this computer from the network) учетка Гость не должна быть указана.
Также убедитесь, что включен общий доступ к сетевым папкам в разделе Параметры -> Сеть и Интернет -> Ваше_сетевое_подключение (Ethernet или Wi-Fi) -> Изменение расширенных параметров общего доступа (Settings -> Network & Internet -> Ethernet -> Change advanced sharing options). Проверьте что во всех секциях (Private, Public, All networks) включены опциы Turn on file and printer sharing, сетевое обнаружение (см. статью о проблемах обнаружения компьютеров в рабочих группах) и отключите защиту папок паролем Turn off password protected sharing.
В Windows 11 эти опции находятся в разделе панели Settings -> Network and Internet -> Advanced network settings -> Advanced sharing settings.
Обновите настройки локальных групповых политик на компьютере командой:
gpupdate /force
Разрешить гостевой доступ к общей сетевой папке Windows
После того, как вы настроили политики гостевого доступа, нужно разрешить анонимный доступа к целевой сетевой папке на хосте Windows. Вам нужно изменить настройки безопасности сетевой папки Windows, к которой вы хотите предоставить общий анонимный доступ. Откройте свойства папки, перейдите на вкладку Безопасность (здесь настраиваются NTFS разрешений) предоставьте права чтения (и, если нужно, изменения) для локальной группы «Все» («Everyone»). Для этого нажмите кнопку Изменить -> Добавить -> Все и выберите необходимые привилегии анонимных пользователей. Я предоставил доступ только на чтение.
Также на вкладке Доступ (Sharing) нужно предоставить права доступа к сетевой шаре анонимным пользователям (Доступ -> Расширенная настройка -> Разрешения). Проверьте, что у группы Все есть право на Изменение и Чтение.
Теперь в локальной политике безопасности нужно указать имя сетевой папки, к которой разрешен анонимный доступ. Откройте консоль Local Security Policy (secpol.msc), перейдите в секцию Локальные политики -> Параметры безопасности. Затем в политике “Сетевой доступ: разрешать анонимный доступ к общим ресурсам” (Network access: Shares that can be accessed anonymous) укажите имя сетевой папки, к которой вы хотите предоставить анонимный доступ (в моем примере имя сетевой папки – Share).
Теперь вы можете анонимно подключиться к этому компьютеру с удаленного компьютера.
Нажмите клавишы Win+R и в окне укажите UNC (формат \\IPадрес\ИмяПапки, или \\NetBIOSимякомпьютера\ИмяПапки) путь к сетевой папке, которую вы хотите открыть.
Если вы все настроили правильно, перед вами появится список файлов в сетевой папке на удаленном компьютере.
Такой способ предоставления анонимного доступа работал до Windows 10 2004/Windows Server. В актуальных версиях Windows при доступе к общей папке все равно появляется запрос пароля. Чтобы подключиться к удаленной папке под анонимным пользователем нужно указать имя пользователя guest (пароль указывать не нужно).
Но это все равно не очень удобно.
В этом случае нужно дополнительно включить следующие локальные политики:
- Перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options. В параметре Network access: Sharing and security model for local accounts измените значение с Classic на Guest Only. Эта политика автоматически использует аккаунт Guest при сетевом доступе к компьютеру под локальной учетной записью (подразумевается что вы вошли в Windows под локальной учетной записью);
- Перейдите в раздел Computer Configuration ->Administrative templates -> Network (Сеть) -> Lanman Workstation. Включите политику Enable insecure guest logons (Включить небезопасные гостевые входы). Эта политика разрешит сетевой доступ к общим папкам по протоколу SMBv2 под гостевой учетной записью. Если не включать этот параметр, то при подключении под Guest появится ошибка “Вы не можете получить доступ к удаленному компьютеру из-за того, что политики безопасности вашей организации могут блокировать доступ без проверки подлинности” (cм. статью).
Затем нужно указать, что аккаунт Guest нужно всегда использовать для доступа к сетевым ресурсам на указанно компьютере. Для этого нужно добавить в диспетчер учетных записей Windows имя (IP адрес компьютера) и имя пользователя, которое нужно использовать для подключения. Откройте командую строку и выполните команду:
cmdkey /add:192.168.13.200 /user:guest
Теперь при доступе к указанному IP, Windows всегда будет выполнять автоматический входа под сохраненной учетной записью (Guest в нашем случае)
Теперь вы можете проверить на удаленном компьютере, что клиент подключился к сетевой папке под записью guest (анонимно):
Get-SmbSession
Открыть анонимный доступ к общему сетевому принтеру
Чтобы разрешить анонимный доступ к сетевому принтеру на компьютере, нужно открыть свойства общего принтера в Панели управления (Панель управления\Оборудование и звук\Устройства и принтеры). На вкладке доступа отметьте опцию “Прорисовка задания печати на клиентских компьютерах” (Render print jobs on client computers).
Затем на вкладке безопасность для группы “Все” отметить все галки.
Теперь вы сможете подключиться к общей папке (\\servername\share) и принтеру на доменном компьютере без ввода имени пользователя и пароля, т.е. анонимно.