@zehil

Как попасть на сетевой диск через Samba в Ubuntu?

Столкнулся с неприятностью. Давненько возникла хотелка сделать дома файловую помойку, что бы оттуда можно было тянуть медиа-данные, не засоряя основную память устройств. Покупать NAS было откровенно западло, и тема была отложена в долгий ящик. И тут я вспомнил, что у меня в роутере от Asus (RT-AC750) есть USB порт, а со школьных лет остался съемный винт от SiliconPower на 1ТВ. Идея была воплощена моментально, благо вэб-морда у роутера крайне дружественная и интуитивная. Значит, средствами самого маршрутизатора был создан "Файл-Сервер" с сетевым окружением Samba. В листе пользователей создал несколько штук с разными правами к разным директориям (их на накопителе создал заранее). Всё работает на всех устройствах и самых разных платформах, но не на Ubuntu.

Если более конкретно, парк устройств, с которых был осуществлён вход на диск состоит из:
1 - ПК с Windows 7 Prof. - УСПЕШНО
2 - Ноутбук с урезанной Windows Vista SP2 - УСПЕШНО
3 - Основной ноутбук с Ubuntu 16.04 - ПРОВАЛ
4 - Android устройства (от смартфона до ТВ) - УСПЕШНО

В чем проявляется ошибка входа из-под Ubuntu (а так же из-под LMDE 3) - при попытке войти в одну из директорий накопителя вылезает, как и положено, окошко прохождения аутентификации. Состоит на убунте оно из 3 полей ввода, 1 - имя пользователя, 2 - рабочая группа (по умолчанию прописано WORKGROUP как в самом поле ввода, так и в роутере) 3 - пароль пользователя. При вводе, идентичных с виндой, логина и пароля происходит заветное НИЧЕГО. Окошко становится неактивным, ввести заново данные нельзя, можно окно только закрыть. На этом всё. Однако, если в параметрах роутера включить "Гостевой вход", то войти в диск с линукса уже почему-то получается. Однако такой метод в моем случае неприемлим по той причине, что есть директории с ценными файлами, к которым доступа у других членов семейства быть не должно, или с ограничениями только на чтение (типа архива семейных фоток).

Честно говоря, обмен файлами в Linux для меня всегда был немного загадочным, т.к. иногда всё работало из-коробки, а иногда, даже правя руками конфиг самбы, ничего не выгорало.

Куда копать в данном случае? Подозреваю, что в сторону Samba на самом Linux, но пока не знаю на что смотреть в первую очередь.
  • Вопрос задан
  • 2370 просмотров
Решения вопроса 2
hint000
@hint000
у админа три руки
Попробуйте из коммандной строки smbclient, может он скажет, что ему не нравится.
Ответ написан
@zehil Автор вопроса
Ключевой ошибкой является:
Server does not support EXTENDED_SECURITY but 'client use spnego = yes and 'client ntlmv2 auth = yes'

Дабы исправить, нужно вкинуть в конфиг-файл самбы по пути /etc/samba/smb.conf в секцию Global (я лично кинул в самом её начале) пару строк:
client use spnego = no
client ntlmv2 auth = no

Перезагружеам службу samba или, как я, ребутим ноут --> заходим в файловый менеджер --> пытаемся зайти на сервер --> получаем окно аутентификации --> вводим данные, которые вводим на той же винде --> ВУАЛЯ, работает.

Более подробно тут --:> https://ubuntuforums.org/showthread.php?t=2323358

ОБНОВЛЕНИЕ
Всё вышеуказанное на 100% справедливо лишь для Ubuntu 18.04.3 с версией samba 4.7.6
Ради себя самого решил провести тест на сторонних дистрибутивах Fedora 31 и Manjaro KDE актуальной версии на момент написания. В системе Fedora 31 получил совершенно новую ошибку:
Software caused connection abort

В последней федоре при запросе установки Samba получаем версию 4.11, которая имеет баг, описанный тут:
https://bugzilla.redhat.com/show_bug.cgi?id=1768117

Фактически, дело не доходило даже до окна аутентификации. Погуглив часа полтора нашёл довольно простое решение. Установка Samba на федоре сама по себе занятие не интуитивное, однако найти информацию можно найти в том же гугле. После проделанных действий нужно в файл /etc/samba/smb.conf добавить в ту же секцию Global строку:
client min protocol = NT1

Перезагрузить службу или комп/ноут и через nautilus попробовать зайти на сетевой диск. На выхлопе должно быть то самое окно аутентификации, которое не пройти, если не вставить 2 строки из самого ответа, валидного для Ubuntu. На этом с Fedora всё.

С Manjaro всё несколько сложнее, т.к. я так и не понял, почему оно работает так, как работает. В KDE немного иначе реализована фича с обменом файлов по сети, чего то оно там куда-то не монтирует, в отличии от Gnome, однако если руками в терминале установить самбу, которая якобы и так уже установлена (но pacman не ругается на какие-либо зависимости) то получим заветный smb.conf, которого небыло изначально. Далее открываем его тем же nano, и с удивлением находим там строку
client min protocol = SMB2

Меняем в конце строки 2 на 1, закидываем 2 строки для Ubuntu, ребут, всё работает.

Фактически, во всех манипуляциях есть смысл только в том случае, если у вас файл-сервер движкует на версии SMB1, и по-хорошему, суммируя всё это, мне бы наверное стоило бы посмотреть прошивку на роутер по-новее, но он и так отлично работает :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы