Как вынудить Наутилус использовать SMB1?

Начиная с этих 18,04 обновлений я не могу соединиться с сервером Samba с помощью окна Nautilus. Я узнал, что должен указать протокол к SMB1.0 (-o vers=1.0 в консоли). Я попытался добавить следующие команды:

max protocol = SMB1
client max protocol = SMB1

кому: /etc/samba/smb.conf но это не помогло, все еще печать Function not implemented.

Какие-либо идеи, как сделать это?

2
задан 19 May 2018 в 01:35

2 ответа

клиент макс. протокол = SMB1

В попытке смутить как можно больше людей SMB1 в самбе называют NT1. Так измените свою строку на:

client max protocol = NT1

И не добавляйте макс. протокол = строка SMB1 вообще. При установке сервера на 18,04 полях, они согласуют правильный уровень для использования с его клиентами, и по умолчанию верхний предел является SMB3. Был в течение многих лет.

2
ответ дан 2 December 2019 в 03:32

Отказ от ответственности

Протокол SMBv1 разработан в 1983 году, он небезопасен и поэтому отключен по уважительной причине. Протокол SMBv2 доступен с 2006 года.

Описание проблемы

Я пришел к этому вопросу, пытаясь найти решение следующих двух проблем:

  1. У меня есть принтер HP, который может использовать только устаревший протокол SMBv1 ( HP OfficeJet Pro 8620). Итак, мой принтер отказался подключаться к сетевому ресурсу, и функция сканирования в сеть перестала работать.
  2. Я пытался использовать Nautilus для просмотра общих сетевых ресурсов в моей собственной системе Ubuntu. И я получил сообщение об ошибке Невозможно получить доступ к местоположению Не удалось получить список общих ресурсов с сервера: Неверный аргумент:

    enter image description here

Решение

После нескольких попыток с разными значениями в ]/etc/samba/smb.conf Мне наконец удалось решить эти проблемы, используя эти два значения:

client min protocol = NT1
server min protocol = NT1

Я также нашел сообщения, в которых предлагалось добавить этот третий параметр:

ntlm auth = ntlmv1-permitted

Однако в моей системе это не было необходимости.

Объяснение

Насколько я понимаю, параметр минимальный протокол клиента управляет тем, как ваша система взаимодействует с другими SMB-серверами, изменение этого параметра может быть полезно, если ваша система Ubuntu работает как клиент, и вы хотите использовать SMBv1 для доступа к серверу. По умолчанию (с Samba 4.11) ваша локальная установка Samba настроена так, что требует подключения SMBv2 или выше.

С другой стороны, если ваша система Ubuntu действует как сервер, для которого требуется SMBv2 или выше, и у вас есть удаленный клиент (например, принтер), который может понимать только устаревший протокол SMBv1, то изменение минимальный протокол клиента не действует. Вместо этого вам нужно изменить минимальный протокол сервера. Таким образом, клиент может согласовать SMBv1 с демоном Samba, работающим в вашей системе Ubuntu.

Примечание: вы также можете передать параметр минимальный протокол клиента таким инструментам, как smbclient, например:

smbclient -L //<hostname>/<folder> --option='client min protocol=NT1'

Можно использовать для установки протокола клиента на SMBv1. Это было полезно для проверки эффекта изменений в файле smb.conf.

Я попробовал это на Ubuntu 20.04, которая поставляется с версией samba 4.11. Я не тестировал это решение на старых дистрибутивах Ubuntu.

8
ответ дан 4 May 2020 в 21:08

Другие вопросы по тегам:

Похожие вопросы: