Как попасть на сетевой диск через 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, но пока не знаю на что смотреть в первую очередь. 

 Попробуйте из коммандной строки smbclient, может он скажет, что ему не нравится. 

 Ключевой ошибкой является:   

> 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, и по-хорошему, суммируя всё это, мне бы наверное стоило бы посмотреть прошивку на роутер по-новее, но он и так отлично работает :)