Как смонтировать windows / samba windows share под Linux?

21

Под Linux (Ubuntu 12.04) я хочу смонтировать раздел Windows / раздел Windows, названный //winsharedв сети. Я не знаю IP или что-нибудь еще.

В одной системе Ubuntu я могу смонтировать каталог с

mount  //winshared/mypath /mnt/win

в то время как в одной другой системе Ubuntu точно такая же команда дает

mount error: could not resolve address for winshared: Unknown error

Сетевые настройки кажутся одинаково на обеих системах, и я установил smbfsи samba(последний с ошибками). Нужно ли устанавливать что-то еще? Нужно ли что-то настраивать? Как выяснить принципиальные различия между обеими системами, чтобы одинаково монтировать работу в обеих системах?

Дополнительная информация:

  1. Когда я использую smbclientдля подключения к разделу windows / share / что угодно, это работает на первой системе, но не на другой системе. Ошибка:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Следуя этому уроку, я установил smbfsи cifs-utils, но mountкоманда сверху по-прежнему выдает ту же ошибку, которая НЕ описана в уроке.

  3. У меня также есть запись в /etc/fstabчтении

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    с файлом, /etc/samba/wincredидентичным тому же файлу в системе, монтирование работает. Сумма md5 обоих файлов идентична. Поэтому ошибка, касающаяся учетных данных, может быть исключена.

Alex
источник
Обратитесь к руководству на Ubuntu Wiki: wiki.ubuntu.com/MountWindowsSharesPermanently
ОДС
Я установил два пакета, но все равно получаю ту же ошибку!
Алекс
Я обновил вопрос; Я разместил строку fstab и убедился, что файл учетных данных правильный.
Алекс
3
Я хотел бы, чтобы это работало из командной строки 1-й, помещая строку в / etc / fstab просто усложняя отладку для запуска. Если вы не можете смонтировать из командной строки, то это что-то еще. Я использую это каждый день:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
SLM
Нет, изменение разрешения на 600 не решает проблему.
Алекс

Ответы:

15

Либо у вас есть проблема с распознавателем имен (которую вы можете проверить, например, пропингуя хост, winshared с вашего хоста Ubuntu), либо модуль smbfs не загружен.

Возможно, вам придется сначала установить smbfs, apt-get -y install smbfsа затем вставить модуль modprobe smbfs, но после этого вам будет хорошо mount -t smbs.

То, что вы ищете, это mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

Сами Лэйн
источник
smbfsустановлен, но modprobe smbfsвозвращается FATAL: Module smbfs not found.Нужно ли начинать smbfsсначала? Если да, то как? Как заставить его запускаться автоматически после перезагрузки?
Алекс
@ Алекс - Начать нечего. Вы пропускаете пакеты, скорее всего.
СЛМ
@Alex - см этот учебник Ubuntu, то есть все , что вам нужно: wiki.ubuntu.com/MountWindowsSharesPermanently
ОДС
Я следовал этому уроку, но все равно получаю ту же ошибку!
Алекс
1
На Ubunut 18.04 я пропустил установку smbfs и просто использовал -t cifs. Кроме того, вы можете опустить аргумент пароля, если вы работаете в интерактивном режиме, так как mount попросит вас ввести пароль.
МрМас
3

Я использую BeagleBone Black под управлением Debian 4.9, и из-за его ограниченного объема хранилища мне нужно было смонтировать удаленную папку, размещенную на рабочем столе Windows 10. (Я знаю, что это, вероятно, не лучший вариант с точки зрения системного проектирования, но бизнес-потребности часто оставляют мало места для этого.) Поэтому мне пришлось придумывать импровизированную подключенную удаленную папку.

После того, как я столкнулся с множеством проблем, пытаясь смонтировать общую папку Windows 10, вот мое решение, так что, надеюсь, другие смогут извлечь пользу из моего опыта.

Windows 10 «Удаленный» хост

  1. Включить поддержку общего доступа к файлам SMB1.0 / CIFS в Windows ( подробности ).
  2. Запустите Windows службу NetLogon .
  3. Включить общий доступ к папке, которой вы хотите поделиться.

Клиент Debian Linux

  1. Установите пакеты поддержки: smbclientи cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Создайте целевой каталог для монтирования удаленного общего ресурса:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Смонтировать удаленную папку:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    ОБНОВЛЕНИЕ: После обновления моей локальной установки Debian до версии 6.3 моя mountкоманда сломалась, и мне потребовалось добавить versопцию для указания SMB1:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    
Джим Фелл
источник
2
SMB1 устарел, и вам действительно следует избегать его использования, где это возможно. Если вы включите vers=2.1в mountопции, вы получите SMB 2. Вам также было бы лучше использовать credentialsвместо usernameи password. И вам может не понадобиться sec=ntmlпосле всего этого.
Ройма
@roaima Спасибо за советы, но я застрял, используя старые вещи. Спасибо за исправление форматирования кода. Это не позволяло мне поместить код между элементами списка.
Джим Фелл
mountне сломался; он перешел на использование SMB2 или, возможно, 3. SMB1 устарел уже более десяти лет, и вы все равно не должны его использовать.
Ройма
@roaima Это хорошо знать, но, к сожалению, Windows 10 поддерживает только «SMB1.0 / CIFS». Плюс это для частной сети, поэтому я не слишком обеспокоен безопасностью.
Джим Фелл
Windows 10 поддерживает SMB2 и SMB3. Вы должны были установить пакет поддержки, чтобы позволить ему вернуться к SMB1.
Ройма
1

Проверьте, установлен ли winbind; тогда в вашем /etc/nsswitch.confфайле там должно быть winsуказано в hostsстроке.

Что-то вроде:

hosts: files wins dns

В зависимости от того, какие пакеты установлены в вашей системе, могут быть перечислены другие модули.

Жулиано
источник
Пробовал это решение вчера на Ubuntu 12.04 64bit, и оно работало отлично. Благодарю. Сегодня я делаю то же самое на Ubuntu 12.04 32bit, и это не получается, странно.
Чарек Томчак
1
@update: оказывается, вам нужно установить пакет winbind sudo apt-get install winbind.
Чарек Томчак