Автор Тема: SambaDC / Подключение клиентов с разными протоколами  (Прочитано 9815 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Всем привет!

Недавно заметил, что абсолютно идентичные клиенты подключаются с разными протоколами:
#  smbstatus

Samba version 4.7.12
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing             
----------------------------------------------------------------------------------------------------------------------------------------
23194   FIRMA\user1 users        192.168.1.8 (ipv4:192.168.1.8:60107)  SMB2_10           -                    HMAC-SHA256         
23065   FIRMA\user1 users        192.168.1.156 (ipv4:192.168.1.156:43430) SMB3_02           -                    AES-128-CMAC         
24148   FIRMA\user2 users        192.168.1.175 (ipv4:192.168.1.175:53120) NT1               -                    HMAC-MD5             
23063   FIRMA\user1 users        192.168.1.219 (ipv4:192.168.1.219:49096) NT1               -                    HMAC-MD5             
23064   FIRMA\user1 users        192.168.1.211 (ipv4:192.168.1.211:36110) SMB3_02           -                    AES-128-CMAC 
...

Клиенты .156, .175, .211 и .219 абсолютно одинаковые (Simply Linux 8), каталог подключается посредством pam_mount https://www.altlinux.org/ActiveDirectory/Login#Через_pam_mount.

Собственно почему возник вопрос, клиент .219 открыл документ LO в сетевом каталоге, второй клиент .211 пытается зайти внутрь каталога, где клиент .219 открыл документ, но Thunar падает с ошибкой сегментирования. Я попробовал скачать весь каталог, но вылезла ошибка на доступ к файлу .~lock.*# открытого файла через LO. Хотя на этот файл права были выставлены корректно, то есть доступ был. При этом на клиенте .175, я мог спокойно открыть этот же каталог, когда клиент .219 уже работал с файлом в нём.

Так вот, из-за чего такое может быть - одни подключаются по одному протоколу, другие по другому ? Может имеет смысл привести всех к одному протоколу, чтобы не иметь подобных проблем.

PS. Клиент .8 - это Windows 7.
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Можно указать в smb.conf максимальный и минимальный протокол.
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Можно указать в smb.conf максимальный и минимальный протокол.
Да, я знаю, но всё же непонятно, когда абсолютно одинаковые клиенты подключаются по разным протоколам.
Попробую последовать вашему совету.
Спасибо.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
В общем не помогло.

Я прописал:
[global]
        client min protocol = SMB2
        client max protocol = SMB3

Когда прописываю так:
[global]
        client min protocol = SMB2
        server min protocol = SMB2
        client max protocol = SMB3
        server max protocol = SMB3

То шары вообще не подключаются.

Если почитать про эти параметры, то там есть такая фраза:
Цитировать
Обычно этот параметр не определяет используемый протокол, SMB установит версию на стадии установки соединения.

https://smb-conf.ru/client-min-protocol.html
https://smb-conf.ru/client-max-protocol.html
https://smb-conf.ru/server-min-protocol.html
https://smb-conf.ru/server-max-protocol.html

Какие ещё есть варианты решения этой проблемы, так как она стала массовой и создаёт проблемы ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
[global]
        client min protocol = SMB2
        server min protocol = SMB2
        client max protocol = SMB3
        server max protocol = SMB3
Параметры min/max protocol дают такой же эффект, шары не монтируются.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
4.7.12
Попробую с более новой версией, в p8 же 4.9.13 есть.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
4.9.13
В общем тоже не хочет работать, ошибка та же.

Что заметил, если документ открыл клиент подключенный по протоколу SMB3, то клиент подключённый по протоколу NT1 может зайти внутрь каталога с этим файлом, то есть Thunar в этом случае не падает. Но если наоборот - документ открыл клиент подключённый по протоколу NT1, а в каталог с этим файлом хочет зайти клиент с протоколом SMB3, то ошибка проявляется - Thunar падает с ошибкой сегментирования.

Баг заводить ?
Так как такое поведение начинает раздражать...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Ну вот на вид помогло:
[global]
        min protocol = SMB2

По крайней мере все клиенты с NT1 отпали, но при этом те кто раньше подключался по NT1, не могут теперь примонтировать шару. Хотя клиенты абсолютно одинаковые и они тоже поддерживают SMB2+.

Есть какие-то мысли ?
« Последнее редактирование: 09.10.2019 08:47:22 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Вот такая ругань при входе:
systemd[1]: Started User Manager for UID 99611000.
systemd[1]: Started Session c3 of user user1.
lightdm[1613]: (pam_mount.c:477): warning: could not obtain password interactively either
lightdm[986]: (pam_mount.c:477): warning: could not obtain password interactively either
kernel: FS-Cache: Loaded
kernel: Key type dns_resolver registered
kernel: FS-Cache: Netfs 'cifs' registered for caching
kernel: Key type cifs.spnego registered
kernel: Key type cifs.idmap registered
kernel: CIFS VFS: cifs_mount failed w/return code = -95
lightdm[1613]: (mount.c:68): Messages from underlying mount program:
lightdm[1613]: (mount.c:72): mount error(95): Operation not supported
lightdm[986]: (mount.c:68): Messages from underlying mount program:
lightdm[986]: (mount.c:72): mount error(95): Operation not supported
lightdm[986]: (mount.c:72): Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
lightdm[986]: (pam_mount.c:522): mount of share2 failed
lightdm[1613]: (mount.c:72): Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
lightdm[1613]: (pam_mount.c:522): mount of share2 failed
lightdm[1613]: (mount.c:68): Messages from underlying mount program:
kernel: CIFS VFS: cifs_mount failed w/return code = -95
lightdm[986]: (mount.c:68): Messages from underlying mount program:
lightdm[986]: (mount.c:72): mount error(95): Operation not supported
lightdm[986]: (mount.c:72): Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
lightdm[986]: (pam_mount.c:522): mount of share1 failed
lightdm[986]: (pam_mount.c:477): warning: could not obtain password interactively either
lightdm[1613]: (mount.c:72): mount error(95): Operation not supported
lightdm[1613]: (mount.c:72): Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
lightdm[1613]: (pam_mount.c:522): mount of share1 failed
lightdm[1613]: (pam_mount.c:477): warning: could not obtain password interactively either
lightdm[1613]: pam_systemd(lightdm:session): Cannot create session: Already running in a session or user slice
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Вот тут немного покопался https://unix.stackexchange.com/questions/144522/mounting-cifs-operation-not-supported

Добавил опцию для монтирования шары vers=3.02 и подключение к шаре прошло на клиенте, который ранее подключался по NT1.
Но там же по ссылке пишут, что использовать совместно sec и vers нежелательно, а меня получается sec=krb5 и vers=3.02.
Да и такая перспектива менять на каждом клиенте параметры подключения, как-то не радует.
Есть другое решение ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Тем более, как я писал раньше, есть клиенты которые сегодня подключаются по NT1, а завтра или через несколько дней уже подключается по SMB3_02. При этом никаких манипуляций с этими клиентами не производится.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
И таки да, эта фраза говорит о том, что по умолчанию должно и так выбираться SMB3:
For improved security and performance, SMB3 is the now the default dialect (SMB3.1.1/SMB3.02/SMB3/SMB2.1 dialects are requested by default).
Разве нет ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
В общем непонятно, то ли нужно писать этот vers, то ли нет...  :-\
4.3 Kernel

Minor bug fixes (including Mac authentication issue when timestamps differ too much on server/client). Add krb5 support for smb3 (mount sec=krb5 for SMB3 e.g. vers=3.02, not just for cifs). Cifs.ko version updated to 2.08. Added ioctl to query detailed fs info on mounted share

Ряд патчей находил для ядра https://patchwork.kernel.org/patch/7253821/

Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 144
    • Email
Привёл я всех клиентов к одному протоколу, но это не решило проблему.
Всё та же ошибка ввода/вывода при попытке зайти в каталог, в котором уже кто-то работает с документом.
Есть ещё мысли как решить ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн Александр Ерещенко

  • Завсегдатай
  • *
  • Сообщений: 1 153
Глупая мысль, но вдруг...
А вдруг Thunar хочет сделать превьюшку для лок-файла и ему от этого становится плохо?
Чем-то другим заглянуть в каталог при этом можно?