Общий доступ к Windows 10 недоступен из Ubuntu 16.04 LTS

6

Я пытаюсь подключить / смонтировать точку на моей виртуальной машине Ubuntu 16.04 LTS к общей папке на хосте, которая является Windows 10, но безуспешно. Цель состоит в том, чтобы я мог загружать файлы в Ubuntu (VM) и передавать их на хост Windows. Общий ресурс Windows доступен с других хостов Windows в той же сети, но не с виртуальной машины Ubuntu, даже несмотря на то, что я могу проверить связь с сетью (виртуальная машина настроена в режиме «Bridged»). Я попытался запустить:

sudo mount -t cifs -o username=username //ip_address/Windows_Share /mount/point/Ubuntu

Это возвращается с ошибкой, указывающей на то, что хост не работает, что не соответствует действительности, поскольку доступ к работающему на нем ресурсу может быть получен из других окон Windows. Я прочитал несколько сообщений об этом, и кто-то упомянул, что существует конфликт с версией SMB, используемой Ubuntu и Windows 10, которая теперь отключает SMB1. Поэтому они посоветовали запустить ниже, чтобы проверить:

smbclient -L <windows_ip> -U <windows_user> -d 256

И действительно, я получил ошибку:

сбой согласования протокола: NT_STATUS_CONNECTION_RESET

Тогда я бегу:

smbclient -L <windows_ip> -U <windows_user> -m SMB2

И еще одна ошибка:

NetBIOS через TCP отключен - рабочая группа недоступна

Кто-нибудь может предложить исправить / посоветовать, как я могу смонтировать общий ресурс Windows в Ubuntu?

чувак
источник
В дополнение к изменениям конфигурации xguru рассмотрите возможность запуска sudo testparm -sдля проверки правильности вашего файла smb.conf.
Фрэнк Томас

Ответы:

10

Похоже, вы на правильном пути. Если проблема связана с SMB1, ее устранят следующие проблемы.

Сначала сделайте копию smb.conf

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

После изготовления копии

sudo gedit /etc/samba/smb.conf

Не стесняйтесь использовать vi / vim / nano, если вы не предпочитаете gedit

В файле добавьте следующее в раздел [global]

client min protocol = SMB2
client max protocol = SMB3

После сохранения правок в файл. Перезагрузите SMB

sudo service smbd restart

Если это не работает, пожалуйста, укажите ошибки.

xguru
источник
Я попробовал конфигурацию, которую вы предложили, и запустил приведенную ниже после перезапуска smbd и даже сделал полную перезагрузку системы (просто чтобы убедиться): smbclient -L <windows10_ip_address> -U <пользователь> -d SMB2, но все равно ничего:> Соединение для <windows10_ip_address> не удалось (Ошибка> NT_STATUS_RESOURCE_NAME_NOT_FOUND) NetBIOS через TCP отключен - нет> рабочая группа доступна Битва продолжается ... :)
чувак
4

Хорошо, извините за возвращение так поздно к этому. Исправление в основном заключается в следующем:

sudo mount -o vers=3.0,username=<your_username>,uid=<your_user_id>,gid=<your_group_id>,forceuid,forcegid, //<ip_address>/<path_to_share> /<mount>/<point>/<local_system>

Обратите внимание, что на этот раз я пропустил опцию -t (- type), так как если эта опция не указана, "mount" попытается угадать, какую систему использовать, и со всей честностью, учитывая объем чтения, который у меня был. уже выполнив то, что происходило с протоколами совместного использования Windows 10, я решил позволить «mount» сделать свое волшебство для меня. ;-)

Вот для извлечения "страницы руководства по монтированию":

«Если не задана опция -t или задан автоматический тип, mount попытается угадать нужный тип. Mount использует библиотеку blkid для угадывания типа файловой системы; если это не приводит к тому, что выглядит знакомым, mount будет попробуйте прочитать файл / etc / filesystems или, если он не существует, / proc / filesystems. Будут испробованы все перечисленные типы файловых систем, кроме тех, которые помечены как «nodev» (например, devpts, proc и nfs). Если / etc / filesystems заканчивается строкой с одним *, mount будет читать / proc / filesystems впоследствии. При попытке все типы файловых систем будут смонтированы с опцией монтирования без вывода сообщений. "

Кроме того, поскольку «mount» можно запускать только от имени пользователя root, но другие программы, выполняющие запись в эту точку монтирования, не запускаются от имени пользователя root, вам необходимо указать пользователя и группу, которым вы хотите предоставить права на запись (владение) для монтирования. место, следовательно , использование: uid=<your_user_id>,gid=<your_group_id>,forceuid,forcegid,.

Готово! @xguru, спасибо за помощь! :)

чувак
источник
Я сталкиваюсь с той же проблемой при попытке смонтировать общий доступ к коробке W10 с моего сервера Ubuntu. На всех других коробках W10 мне не нужно указывать эту vers=3.0опцию. Почему именно на этом? Любая идея о том, что вызывает проблемы на стороне Windows?
М-Джек,