Монтирование Windows Share с использованием SMB 2.1 или выше

12

Я пытаюсь смонтировать размещенный на Windows общий ресурс SMB (CIFS) с помощью Ubuntu 12.04 (с использованием ядра 3.13.0-117-generic). Монтирование с SMB1 работает, но это недопустимо, вместо этого мы должны монтировать с SMB2.1 или выше.

Ниже приведены результаты моих попыток сделать это, передав аргумент ver =

root@----:/# mount -t cifs //SERVER/smbtest /mnt/smbtest --verbose -o ver=2.1,user=administrator
Password:
mount.cifs kernel mount options: 
ip=10.16.0.40,unc=\\server.domain.net\smbtest,ver=2.1,ver=1,user=administrator,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Как видите, в опциях монтирования ядра mount.cifs есть два аргумента ver: тот, который я указал, и значение по умолчанию (1). Это произойдет, если я укажу что-либо кроме 1 или 1.0 для ver.

cifs-utils версии 5.1 установлен, а cifs.ko - версии 2.02. Со страницы состояния ядра SMB3 в вики Samba https://wiki.samba.org/index.php/SMB3_kernel_status ,

"The minimum version for use of the Linux kernel SMB3 support is kernel version 3.12 (or backport of cifs.ko module version 2.02 or later) but kernel version 3.18 or later (or equivalent, ie cifs module version 2.04 or later) is recommended for best SMB3 support."

Кто-нибудь может помочь мне встать на правильный путь? Я должен что-то упустить. Какие другие методы доступны для принудительного подключения SMB2 +? Это мой первый пост здесь, и я старался быть кратким, если я что-то пропустил, дайте мне знать, и я добавлю информацию в свой пост.

Насколько я могу судить, это должно работать, хотя я не удивлюсь, если что-то неправильно понял и SMB2 + не поддерживается.

Спасибо

РЕДАКТИРОВАТЬ: я понимаю, что 12.04 EOL. Я обновлю этот пост завтра с соответствующей информацией для 14.04, которая имеет ту же проблему. Если кто-нибудь может ответить на вопрос: 12.04, это все равно будет оценено.

Оливер Воллмер
источник
1
Это особенно актуально в связи с тем, что Wancacry вымогателей использует объекты SMB1
Джефф
Если у вас есть имя устройства (например, foo), но нет его ipaddr: nmblookup foo
phreed

Ответы:

8

Если я использую ver, он действительно набирает «Неверный аргумент», но man mount.cifs говорит, что имя опции - «vers», а не «ver».

       vers=
       SMB protocol version. Allowed values are:

       ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

       ·   2.0 - The SMBv2.002 protocol. This was initially introduced in
           Windows Vista Service Pack 1, and Windows Server 2008. Note
           that the initial release version of Windows Vista spoke a
           slightly different dialect (2.000) that is not supported....

это работает для меня в Mint 18.1:

mount -t cifs //192.168.1.1/public /home/user/Desktop/share --verbose -o vers=2.1,user=winuser
рохля
источник
1

Я нашел доступные варианты в моей местной справочной странице. Проверьте это на своем компьютере, чтобы увидеть, что он поддерживает. Находясь на странице руководства, введите, /vers=чтобы быстро найти этот аргумент.

man mount.cifs

Затем я установил свою долю следующим образом:

sudo mount -t cifs //nas/homes/mike /media/mike/nashome -o vers=3.11,credentials=/home/mike/.ssh/.smb_nas

Для этого потребовался файл учетных данных со следующим содержимым в /home/mike/.ssh/.smb_nas, поэтому мне не нужно вводить свой пароль в команду (в результате чего он будет сохранен в истории команд в виде простого текста) или в подсказка (неприятность).

username=mike
password=[REAL PASSWORD]
domain=WORKGROUP

Я монтирую с Synology NAS, которое поддерживает SMB версии 3.11. Вам нужно проверить версию Windows (или любого другого хостинга файлов через CIFS / SMB), чтобы увидеть, что она поддерживает на стороне сервера.

mightypile
источник
1

Как ни странно, если общий компьютер не находится на этом IP-адресе, вы можете получить эту же ошибку. Изменение в DHCP «переместило» наш NAS, и это было корнем моей проблемы. Как только ресурс вернулся на правильный IP, ошибки прекратились.

Крис К
источник