Начиная с этих 18,04 обновлений я не могу соединиться с сервером Samba с помощью окна Nautilus. Я узнал, что должен указать протокол к SMB1.0 (-o vers=1.0
в консоли). Я попытался добавить следующие команды:
max protocol = SMB1
client max protocol = SMB1
кому: /etc/samba/smb.conf
но это не помогло, все еще печать Function not implemented
.
Какие-либо идеи, как сделать это?
клиент макс. протокол = SMB1
В попытке смутить как можно больше людей SMB1 в самбе называют NT1. Так измените свою строку на:
client max protocol = NT1
И не добавляйте макс. протокол = строка SMB1 вообще. При установке сервера на 18,04 полях, они согласуют правильный уровень для использования с его клиентами, и по умолчанию верхний предел является SMB3. Был в течение многих лет.
Протокол SMBv1 разработан в 1983 году, он небезопасен и поэтому отключен по уважительной причине. Протокол SMBv2 доступен с 2006 года.
Я пришел к этому вопросу, пытаясь найти решение следующих двух проблем:
Я пытался использовать Nautilus для просмотра общих сетевых ресурсов в моей собственной системе Ubuntu. И я получил сообщение об ошибке Невозможно получить доступ к местоположению Не удалось получить список общих ресурсов с сервера: Неверный аргумент:
После нескольких попыток с разными значениями в ]/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.