Рейтинг:1

Проблемы с монтированием общих ресурсов SMB в Fstab

флаг cn

Я только что обновил свой файловый сервер с 16.04 до 20.04, и все, кажется, работает, за исключением моих монтирований SMB на моем компьютере с Ubuntu. Я могу получить доступ к общим ресурсам SMB на моем компьютере с Windows, но на моем компьютере с Ubuntu 18.04 я не могу смонтировать общие ресурсы в fstab.

Если я монтирую общие ресурсы из командной строки (команда ниже), они монтируются просто отлично.

sudo mount -t cifs -o username=username,vers=3.0 //192.168.1.116/Share /mnt/Share/

Однако, когда я пытаюсь смонтировать общий ресурс в fstab (команда ниже), общий ресурс smb не монтируется.

//192.168.1.116/Общий доступ /mnt/Общий доступ к учетным данным cifs=/home/user/.smbcredentials,vers=3.0,iocharset=utf8,sec=ntlmssp 0 0

После выполнения судо монтировать -а и пытаюсь лс Я получил:

ls: не удается получить доступ к «Поделиться»: операция не поддерживается

и когда я делаю smbclient -L //192.168.1.116 Я получил:

согласование протокола не удалось: NT_STATUS_INVALID_NETWORK_RESPONSE

Обновлять:

Когда я делаю

sudo mount -t cifs -o учетные данные =/home/user/.smbcredentials, vers = 3.0, iocharset = utf8, sec = ntlmssp //192.168.1.116/Share /mnt/Share/

Общий ресурс SMB смонтирован правильно.

Когда я делаю

smbclient -L //192.168.1.116 -d 0

Я получаю тот же результат:

Ошибка согласования протокола: NT_STATUS_INVALID_NETWORK_RESPONSE.

dmesg -t | grep -e CIFS возвращает:

CIFS VFS: ошибка cifs_mount с кодом возврата = -95

Когда я проверяю dmesg с включенной отладкой, я получаю много:

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/cifsfs.c: CIFS VFS: в cifs_statfs как Xid: 9405245 с uid: 1000

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/cifsfs.c: CIFS VFS: уходит cifs_statfs (xid = 9405245) rc = -95

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/inode.c: CIFS VFS: в cifs_revalidate_dentry_attr как Xid: 9405247 с uid: 1000

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/inode.c: CIFS VFS: уходит cifs_revalidate_dentry_attr (xid = 9405247) rc = -95

heynnema avatar
флаг ru
Это может быть потому, что они удалили поддержку SMB1 из соображений безопасности. Есть способ снова включить его в /etc/samba/smb.conf, но, конечно, это не рекомендуется. Я не могу много говорить о том, как и почему. У меня есть моды smb.conf, если они вам нужны.
флаг cn
Я думал, что версия 3.0 в моем fstab заставляла клиента подключаться с использованием SMB 3 вместо 1?
heynnema avatar
флаг ru
Просто любопытно... вы перезагрузили .116? Вы используете Ubuntu на .116 и на клиентском компьютере? Какая версия Windows? Это работало до того, как вы обновили сервер до 20.04?
флаг cn
@heynnema .116 несколько раз перезагружался. Все работало нормально, пока я не обновился. Samba работает как в Win7, так и в Win10. Ubuntu 20.04 на .116 и 18.04 на клиенте.
Рейтинг:0
флаг us

Не могли бы вы попробовать отладить sblient с помощью?

smbclient -L //192.168.1.116 -d 0

Вы можете монтировать через командную строку, используя файл параметров и учетных данных из fstab?

sudo mount -t cifs -o учетные данные =/home/user/.smbcredentials, vers = 3.0, iocharset = utf8, sec = ntlmssp //192.168.1.116/Share /mnt/Share/

Что вы получаете в dmesg для ошибок CIFS?

dmesg -t | grep -e CIFS

Мы также можем включить отладку модуля cifs.

modprobe cifs
echo 'модуль cifs +p' > /sys/kernel/debug/dynamic_debug/control
echo 'файл fs/cifs/* +p' > /sys/kernel/debug/dynamic_debug/control
эхо 7 > /proc/fs/cifs/cifsFYI

и отключите его с помощью.

эхо 0 > /proc/fs/cifs/cifsFYI

Также проверьте dmesg для отладки модуля cifs.

флаг cn
Когда я делаю (), я получаю тот же результат: согласование протокола не удалось: NT_STATUS_INVALID_NETWORK_RESPONSE. Использование sudo mount -t cifs -o учетные данные=/home/user/.smbcredentials,vers=3.0,iocharset=utf8,sec=ntlmssp//192.168.1.116/Share /mnt/Share/
heynnema avatar
флаг ru
@Havock Вы заменили «пользователя» своим настоящим идентификатором пользователя в приведенной выше команде?
флаг cn
@heynnema в конце концов я это сделал :) Даже с правильным идентификатором пользователя это не сработало
Рейтинг:0
флаг cn

Не уверен, что произошло, но я смог решить эту проблему.

Я решил начать сначала и сделал sudo umount /mnt/Share(s). После размонтирования каждого каталога я собирался использовать sudo mount -a и правильно смонтировать все точки монтирования в fstab.

Подсказка заключалась в ответе, которого больше нет. Автор ответа (iirc @heynnema) попросил меня поставить file_mode = 0777, dir_mode = 0777 в моем fstab для монтирования.

Сегодня утром свежим взглядом заметил, что каталог подсвечивается. Быстрый лс -л показал мне, что это был 777, который был неправильным. Я не смог изменить его, настроив fstab, поэтому решил начать заново. Кажется, на этот раз это сработало.

В конце концов я добавил к моему;

файл smb.conf

минимальный клиентский протокол = NT1
максимальный клиентский протокол = SMB3

/etc/fstab

верс=3.0

Даже при минимальном клиентском протоколе = NT1. Требуется версия = 3.0.

флаг cn
Полезный ответ больше недоступен, но я резюмировал, каким оказалось решение.
heynnema avatar
флаг ru
Рад, что у вас все получилось! Ваш `максимальный клиентский протокол = SMB3`, вероятно, неверен, так как SMB3, вероятно, должен быть NT3, или вы, вероятно, могли бы просто убрать всю строку из smb.conf.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.