Шаги ==== 1. Развернуть Samba DC на ALT Server 11.0 x86_64 (minimal). Конфигурация `/etc/samba/smb.conf` на DC: [global] dns forwarder = <dns-ipv4> netbios name = DC realm = SAMBA.TESTDOMAIN server role = active directory domain controller workgroup = SAMBA idmap_ldb:use rfc2307 = yes printcap name = cups load printers = yes cups server = "localhost" printing = cups log file = /var/log/samba/log.%m max log size = 0 log level = 3 interfaces = <self-ipv4> 127.0.0.1 bind interfaces only = yes kerberos method = system keytab [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = yes read only = no printable = yes [media] comment = media browseable = yes path = /media read only = no guest ok = yes [sysvol] path = /var/lib/samba/sysvol read only = No [netlogon] path = /var/lib/samba/sysvol/samba.testdomain/scripts read only = No [SHARE] comment = Share directory for AD users path = /var/share read only = no guest ok = yes create mask = 0666 directory mask = 0777 force create mode = 0666 force directory mode = 0777 inherit owner = yes 2. Ввести в домен машину Windows 10 Pro. Настроить DNS: -> Нажать на значок Сеть на панели задач -> Нажать на текущее подключение -> Центр управления сетями и общим доступом -> Нажать на Ethernet -> Свойства -> Отключить Протокол интернета версии 6 -> Открыть Протокол интернета версии 4 -> Использовать следующие адреса DNS серверов -> указать адреса сервера и реплики. Далее ввести в домен: * Пуск -> Параметры (или перейти на главную страницу, если уже открыты) -> Учетные записи -> Доступ к учётной записи места работы или учебного заведения -> Подключиться -> выбрать надпись с "к локальному домену Active Directory" -> ввести samba.testdomain -> OK * По запросу ввести логин/пароль администратора домена. 3. На машине Windows войти локальным пользователем (например `test`), открыть explorer.exe, ввести в поле пути `\\dc\share`, нажать Enter. Фактический результат ===================== Запрашивается авторизация. * Пустые значения ввести невозможно. * При вводе некорректных значений сообщает о неправильном пароле, в том числе `NT AUTHORITY\ANONYMOUS LOGON` без пароля. * При вводе имени пользователя `Guest` сразу сообщает об ошибке. Ожидаемый результат =================== Успешное открытие папки как гость. Дополнительно ============= Из логов видно, что даже до первого запроса аутентификации (и при вводе `Guest`) клиент пробует от имени своего локального пользователя, но это не удаётся: > ==> /var/log/samba/log.<windows-client-ipv4> <== > [2025/07/29 15:11:22.744910, 3] ../../source4/auth/ntlm/auth.c:206(auth_check_password_send) > auth_check_password_send: Checking password for unmapped user [DESKTOP-RHU12RA]\[test]@[DESKTOP-RHU12RA] > auth_check_password_send: user is: [DESKTOP-RHU12RA]\[test]@[DESKTOP-RHU12RA] > > ==> /var/log/samba/log.winbindd <== > [2025/07/29 15:11:22.745293, 3] ../../source3/winbindd/winbindd_pam.c:516(find_auth_domain) > Authentication for domain [DESKTOP-RHU12RA] refused as it is not a trusted domain > > ==> /var/log/samba/log.<windows-client-ipv4> <== > [2025/07/29 15:11:22.745666, 3] ../../source4/auth/sam.c:1558(authsam_search_account) > authsam_search_account: Couldn't find user [test] in samdb, under DC=samba,DC=testdomain > [2025/07/29 15:11:22.745709, 2] ../../source4/auth/ntlm/auth.c:399(auth_check_password_recv) > auth_check_password_recv: sam_ignoredomain authentication for user [DESKTOP-RHU12RA\test] FAILED with error NT_STATUS_NO_SUCH_USER, authoritative=1 > [2025/07/29 15:11:22.745775, 2] ../../auth/auth_log.c:858(log_authentication_event_human_readable) > Auth: [SMB2,NTLMSSP] user [DESKTOP-RHU12RA]\[test] at [Вт, 29 июл 2025 15:11:22.745743 MSK] with [NTLMv2] status [NT_STATUS_NO_SUCH_USER] workstation [DESKTOP-RHU12RA] remote host [ipv4:<windows-client-ipv4>:49855] mapped to [DESKTOP-RHU12RA]\[test]. local host [ipv4:<dc-ipv4>:445] Из логов клиентов ALT Linux видно, что они авторизуются с пустыми значениями и это работает: > ==> /var/log/samba/log.<alt-linux-client-ipv4> <== > [2025/07/29 15:06:23.921714, 3] ../../source4/auth/ntlm/auth.c:206(auth_check_password_send) > auth_check_password_send: Checking password for unmapped user []\[]@[] > auth_check_password_send: user is: []\[]@[]s > ... > Auth: [Kerberos KDC,ENC-TS Pre-authentication] user [(null)]\[P11-T-KWORK$@SAMBA.TESTDOMAIN] at [Tue, 29 Jul 2025 15:05:22.835386 MSK] with [aes256-cts-hmac-sha1-96] status [NT_STATUS_OK] workstation [(null)] remote host [ipv4:<dc-ipv4>:33738] became [SAMBA]\[P11-T-KWORK$] [S-1-5-21-3390872374-3448368759-3667638100-1106]. local host [NULL] Если ввести данные существующего пользователя домена в Windows, папка успешно открывается. Для входа гостем с Windows пробовал решения из: * https://learn.microsoft.com/en-us/windows-server/storage/file-server/enable-insecure-guest-logons-smb2-and-smb3 * https://www.claudiokuenzler.com/blog/879/windows-10-server-2016-access-samba-share-guest-account-analysis-workaround-event-31017 в т. ч. добавлять по отдельности параметры: [global] map to guest = bad user [SHARE] browseable = yes force user = test guest user = test guest only = yes однако результат не менялся. Исходя из https://wiki.samba.org/index.php/Setting_up_a_Share_Without_Authentication, они и не должны быть нужны. Воспроизводимость ================= Воспроизводится с серверами на виртуальных машинах: [sisyphus] samba-4.21.7-alt3.x86_64 [p11+387440.6] samba-4.21.7-alt3.x86_64 [p11] samba-4.20.8-alt2.x86_64 Клиент: Windows 10 Pro 22H2 (19045.3271) x86_64, Windows Feature Experience Pack 1000.19041.1000.0
Актуально для samba-4.21.8-alt3