<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>55402</bug_id>
          
          <creation_ts>2025-07-29 15:52:35 +0300</creation_ts>
          <short_desc>samba: Не работает guest-доступ к общей папке с клиента Windows (от имени локального пользователя клиента)</short_desc>
          <delta_ts>2025-10-10 18:58:06 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>samba</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Artem Varaksa">varaksaaa</reporter>
          <assigned_to name="Evgeny Sinelnikov">sin</assigned_to>
          <cc>belayaav</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270034</commentid>
    <comment_count>0</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-07-29 15:52:35 +0300</bug_when>
    <thetext>Шаги
====

1. Развернуть Samba DC на ALT Server 11.0 x86_64 (minimal).

Конфигурация `/etc/samba/smb.conf` на DC:

[global]
    dns forwarder = &lt;dns-ipv4&gt;
    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 = &quot;localhost&quot;
    printing = cups
    log file = /var/log/samba/log.%m
    max log size = 0
    log level = 3
    interfaces = &lt;self-ipv4&gt; 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:

-&gt; Нажать на значок Сеть на панели задач
-&gt; Нажать на текущее подключение
-&gt; Центр управления сетями и общим доступом
-&gt; Нажать на Ethernet
-&gt; Свойства
-&gt; Отключить Протокол интернета версии 6
-&gt; Открыть Протокол интернета версии 4
-&gt; Использовать следующие адреса DNS серверов
-&gt; указать адреса сервера и реплики.

Далее ввести в домен:

* Пуск -&gt; Параметры (или перейти на главную страницу, если уже открыты) -&gt; Учетные записи -&gt; Доступ к учётной записи места работы или учебного заведения -&gt; Подключиться -&gt; выбрать надпись с &quot;к локальному домену Active Directory&quot; -&gt; ввести samba.testdomain -&gt; OK

* По запросу ввести логин/пароль администратора домена.


3. На машине Windows войти локальным пользователем (например `test`), открыть explorer.exe, ввести в поле пути `\\dc\share`, нажать Enter.


Фактический результат
=====================

Запрашивается авторизация.
* Пустые значения ввести невозможно.
* При вводе некорректных значений сообщает о неправильном пароле, в том числе `NT AUTHORITY\ANONYMOUS LOGON` без пароля.
* При вводе имени пользователя `Guest` сразу сообщает об ошибке.

Ожидаемый результат
===================

Успешное открытие папки как гость.


Дополнительно
=============

Из логов видно, что даже до первого запроса аутентификации (и при вводе `Guest`) клиент пробует от имени своего локального пользователя, но это не удаётся:

&gt; ==&gt; /var/log/samba/log.&lt;windows-client-ipv4&gt; &lt;==
&gt; [2025/07/29 15:11:22.744910,  3] ../../source4/auth/ntlm/auth.c:206(auth_check_password_send)
&gt;   auth_check_password_send: Checking password for unmapped user [DESKTOP-RHU12RA]\[test]@[DESKTOP-RHU12RA]
&gt;   auth_check_password_send: user is: [DESKTOP-RHU12RA]\[test]@[DESKTOP-RHU12RA]
&gt;
&gt; ==&gt; /var/log/samba/log.winbindd &lt;==
&gt; [2025/07/29 15:11:22.745293,  3] ../../source3/winbindd/winbindd_pam.c:516(find_auth_domain)
&gt;   Authentication for domain [DESKTOP-RHU12RA] refused as it is not a trusted domain
&gt;
&gt; ==&gt; /var/log/samba/log.&lt;windows-client-ipv4&gt; &lt;==
&gt; [2025/07/29 15:11:22.745666,  3] ../../source4/auth/sam.c:1558(authsam_search_account)
&gt;   authsam_search_account: Couldn&apos;t find user [test] in samdb, under DC=samba,DC=testdomain
&gt; [2025/07/29 15:11:22.745709,  2] ../../source4/auth/ntlm/auth.c:399(auth_check_password_recv)
&gt;   auth_check_password_recv: sam_ignoredomain authentication for user [DESKTOP-RHU12RA\test] FAILED with error NT_STATUS_NO_SUCH_USER, authoritative=1
&gt; [2025/07/29 15:11:22.745775,  2] ../../auth/auth_log.c:858(log_authentication_event_human_readable)
&gt;   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:&lt;windows-client-ipv4&gt;:49855] mapped to [DESKTOP-RHU12RA]\[test]. local host [ipv4:&lt;dc-ipv4&gt;:445]


Из логов клиентов ALT Linux видно, что они авторизуются с пустыми значениями и это работает:

&gt; ==&gt; /var/log/samba/log.&lt;alt-linux-client-ipv4&gt; &lt;==
&gt; [2025/07/29 15:06:23.921714,  3] ../../source4/auth/ntlm/auth.c:206(auth_check_password_send)
&gt;   auth_check_password_send: Checking password for unmapped user []\[]@[]
&gt;   auth_check_password_send: user is: []\[]@[]s
&gt; ...
&gt;   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:&lt;dc-ipv4&gt;: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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274224</commentid>
    <comment_count>1</comment_count>
    <who name="Белая Алёна">belayaav</who>
    <bug_when>2025-10-10 18:58:06 +0300</bug_when>
    <thetext>Актуально для samba-4.21.8-alt3</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>