Назад | Перейти на главную страницу

Старая версия CIFS не может монтировать общие ресурсы с сервера Samba-4

У меня есть медиаплеер, который без проблем подключался к моему основному компьютеру с Samba. Он работает под управлением старой версии встроенного Linux (ядро 2.6.22.19-27) и имеет CIFS.

В какой-то момент, после того как я обновил программное обеспечение Samba на сервере (samba-4.6.8 на данный момент работает на FreeBSD-10.4), игрок потерял эту способность - он все еще может список те же экспортированные акции, но больше не могут открыто ничего: «неправильные учетные данные».

Приложение с поддержкой SMB на моем телефоне отлично открывает те же папки (с теми же учетными данными) ...

Есть ли какой-то вариант, который мне нужно явно включить сервер, чтобы включить какой-то режим совместимости со старыми клиентами?

Обновить: на основе предложения @Tin я добавил следующую строку в [global]-часть smb4.conf: max protocol = NT1 К сожалению, это не изменило ситуацию - я все еще могу подключаться из большинства систем Кроме медиаплеер, который все еще говорит мне, что мои учетные данные никуда не годятся.

С помощью tcpdump на сервере я зафиксировал следующий обмен:

    SMB PACKET: SMBnegprot (REQUEST)
    SMB Command   =  0x72
    Error class   =  0x0
    Error code    =  0 (0x0)
    Flags1        =  0x0
    Flags2        =  0x1
    Tree ID       =  0 (0x0)
    Proc ID       =  1283 (0x503)
    UID           =  0 (0x0)
    MID           =  1 (0x1)
    Word Count    =  0 (0x0)
    smb_bcc=12
    Dialect=NT LM 0.12

На что сервер отвечает:

SMB PACKET: SMBnegprot (REPLY)
SMB Command   =  0x72
Error class   =  0x0
Error code    =  0 (0x0)
Flags1        =  0x80
Flags2        =  0x3
Tree ID       =  0 (0x0)
Proc ID       =  1283 (0x503)
UID           =  0 (0x0)
MID           =  1 (0x1)
Word Count    =  17 (0x11)
NT1 Protocol
DialectIndex=0 (0x0)
SecMode=0x3
MaxMux=50 (0x32)
NumVcs=1 (0x1)
MaxBuffer=16644 (0x4104)
RawSize=65536 (0x10000)
SessionKey=0xA4AA
Capabilities=0x80F3FD
ServerTime=Sun Oct  1 18:00:38 2017
TimeZone=240 (0xf0)
CryptKey=Data: (1 bytes)
...

Затем клиент говорит:

    SMB PACKET: SMBsesssetupX (REQUEST)
    SMB Command   =  0x73
    Error class   =  0x0
    Error code    =  0 (0x0)
    Flags1        =  0x0
    Flags2        =  0x1
    Tree ID       =  0 (0x0)
    Proc ID       =  1283 (0x503)
    UID           =  0 (0x0)
    MID           =  2 (0x2)
    Word Count    =  13 (0xd)
    Com2=0xFF
    Res1=0x0
    Off2=0 (0x0)
    MaxBuffer=16644 (0x4104)
    MaxMpx=50 (0x32)
    VcNumber=0 (0x0)
    SessionKey=0x0
    CaseInsensitivePasswordLength=24 (0x18)
    CaseSensitivePasswordLength=24 (0x18)
    Res=0x0
    Capabilities=0x80D0DC
    Pass1&Pass2&Account&Domain&OS&LanMan=
    smb_bcc=179
    ...

и наконец сервер:

SMB PACKET: SMBsesssetupX (REPLY)
SMB Command   =  0x73
Error class   =  0x6D
Error code    =  49152 (0xc000)
Flags1        =  0x80
Flags2        =  0x3
Tree ID       =  0 (0x0)
Proc ID       =  1283 (0x503)
UID           =  0 (0x0)
MID           =  2 (0x2)
Word Count    =  0 (0x0)
NTError = STATUS_LOGON_FAILURE
smb_bcc=0

Что происходит?

Обновить: Я могу смонтировать что угодно, создав учетную запись с пустым паролем (smbpasswd -n ...) и редактирование smb.conf позволять null passwords.

Я предполагаю, что в новой сборке отключен SMB1. Проверьте конфигурацию на наличие строки, подобной: "min protocol = SMB2".

У меня был аналогичный результат, когда я отключил SMB1 (намеренно) на своих домашних серверах. Ни один из медиаплееров Kodi не смог подключиться и выдал ошибку аутентификации.

Хорошо, вот список изменений в настройках по умолчанию, внесенных в Samba-4.5. В моем случае мне пришлось явно изменить одно значение обратно на «да», чтобы позволить моим медиаплеерам получить доступ к серверу:

[global]
    ntlm auth = yes