Ubuntu сеть windows папка пуста

На некоторых дистрибутивах Linux после учтановки — приложение «Файлы» не видит сеть Windows. При попытке открыть её, либо молча открывается пустая директория с надписью типа папка пуста, либо показывается сообщение об ошибке типа: «Не удалось получить список доступных на сервере ресурсов», не удалось открыть «Сеть Windows» или что-нибудь подобное. Конечно можно обойтись прямым обращением к хосту как описано здесь http://programmingandnotonly.blogspot.com/2017/11/windows-linux-mint.html, но это «такое». Данное поведение я обнаружил на свежеустановленных Centos 8 Desktop и Fedora 31 Workstation, и очень расстроился, т.к. поиски по интернету причины этого заняли очень много времени и тщетных попыток. Однако, интересно что Ubuntu после установки всё открывает без проблем. Сейчас я покажу решение которое помогло мне и решение, которые, возможно, поможет кому-то ещё.

Итак, в моём случае проблема была в файле конфигурации самбы:
/etc/samba/smb.conf
Его содержимое в Федоре было следующим:

1
2
3
4
5

 GNU nano 4.3 /etc/samba/smb-original.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run ‘testparm’ to verify the config is correct after
# you modified it.

[global]
workgroup = SAMBA
security = user

passdb backend = tdbsam

printing = cups
printcap name = cups
load printers = yes
cups options = raw

[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes

[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775

Так как на этой машине мне абсолютно не нужны разделы home, priters и print$, то я их благополучно удалил, а раздел global сделал на подобии Ubuntu. Таким образом у меня получился файл с содержанием:

1
2
3
4

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run ‘testparm’ to verify the config is correct after
# you modified it.

[global]
workgroup = WORKGROUP
security = user
wins support = no
После перезагрузки сеть открылась!

Если Вам это не помогло, то думаю стоит попробовать это:
https://pikabu.ru/story/na_samom_dele_ubu…

(Просмотрено 8 501 раз, 2 раз за сегодня)

  • Печать

Страницы: [1]   Вниз

Тема: После обновления samba до 4.5.8 не видна сеть Windows  (Прочитано 3042 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
webhead

На борту Ubuntu 17.04, на днях обновил Samba, после перезагрузки начались проблемы. Компы с виндой по сетке пингуются, но при попытке в Наутилусе зайти в Сеть Windows, он теперь выдает «Папка пуста». В виндовых компах линуксовый тоже пропал из сетевого окружения. Рабочая группа не менялась. Нужна помощь гуру, что предпринять?


Оффлайн
www777


Оффлайн
webhead

Я догадываюсь, что обновление samba связано с найденной в ней уязвимостью. Факт в том, что теперь она вообще не выполняет своего предназначения. Нормально так проапдейтился  :-\


Пользователь добавил сообщение 29 Мая 2017, 13:32:14:


Пришлось гуглить и экспериментировать. :D Проблема исчезла после добавления в /etc/samba/smb.conf строчки

[global]
        ......
        .......   
        hosts allow = 192.168.1.0/255.255.255.0
и перезапуска самбы.
Может быть, кому-то пригодится этот солюшн.

« Последнее редактирование: 29 Мая 2017, 13:32:14 от webhead »


Оффлайн
webhead

« Последнее редактирование: 21 Октября 2017, 18:52:04 от webhead »


Morisson

webhead, Баг трекер Это не только в Ubuntu


Morisson

Т.е. через smbtree видно, а в браузере файловом менеджере нет

« Последнее редактирование: 24 Октября 2017, 14:33:09 от Morisson »


Оффлайн
webhead

Такое ощущение, что с каждой новой версией Самба ведет себя все менее предсказуемо. Я вышел из ситуации так — в Наутилусе заходил на нужный мне комп в сети по Ctrl+L и smb://<IP-дрес>. Через пару дней, как-то само собой в Наутилусе в «Другом расположении» опять появился ярлык «Сеть Windows», хотя до этого ни рестарт службы, ни ребут компа не помогали. Так что виндовая рабочая группа снова видна, пока не отваливается. Надолго ли?  ???


Morisson

опять появился ярлык «Сеть Windows»

А вот там что-то есть?
У меня пусто. А smbtree все исправно.


Оффлайн
webhead

Да, пока все работает, компы видны, с расшаренными папками на них можно работать штатно.


  • Печать

Страницы: [1]   Вверх

Вы, наверное, не раз сталкивались с проблемой, что Ubuntu не видит сеть Windows или Windows не видит сетевую шару Linux. Такая проблема характерна для многих дистрибутивов с окружением Gnome. Ситуация довольно неоднозначная, раньше причиной этому был баг в GVFS, потом появилось ещё несколько осложняющих дело факторов.

В этой статье мы рассмотрим что делать если Ubuntu не видит шары Windows или Samba, как к ним всё таки подключится и можно ли решить проблему, сделать так чтобы Nautilus и Dolphin начали всё таки видеть сетевые ресурсы.

Почему Ubuntu не видит сеть Windows или Samba?

Нужно разобраться почему Ubuntu не может увидеть сеть Windows. Начиная с Windows 10 в компании Microsoft решили отказаться от старого протокола SMB1 и использовать только SMB2 и SMB3. Но в этих протоколах нет сетевого обнаружения. Для сетевого обнаружения в Windows теперь используется новый сервис WS-Discovery. В Nautilus для отображения сетевых ресурсов используется либо avahi либо протокол SMB1. Поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре. Windows по умолчанию шары Samba тоже видеть не будет, потому что новый WS-Discovery в Samba не поддерживается. Ещё в 2015 году были предложены патчи для Samba добавляющие эту функциональность, но разработчики решили, что оно им не нужно. Поэтому если вы хотите чтобы Windows видела Samba, нужно отдельно установить сервис WSDD.

Но это ещё не всё. Начиная с версии Samba 4.11 разработчики решили, что они ничем не хуже Microsoft и отключили по умолчанию поддержку протокола SMB1. Теперь Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решается проблема либо установкой на Samba сервер Avahi, либо включением поддержки старого протокола SMB1 на сервере Samba.

Настойка сервера Samba

1. Включение протокола SMB1

Для того чтобы активировать протокол SMB1 в Samba необходимо добавить такие строчки в /etc/samba/smb.conf в секцию global:

sudo vi /etc/samba/smb.conf

server min protocol = NT1
client min protocol = NT1
min protocol = NT1

После этого надо перезапустить Samba.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Хочу обратить ваше внимание, что у меня всё заработало только после того как я перезагрузил и сервер и клиент. Видимо что-то где-то кэшируется.

2. Настройка имени хоста

Имя хоста вашего компьютера, выводимое командой hostname должно совпадать со значением в файле /etc/hosts и со значением параметра netbios name в файле /etc/samba/smb.conf. Например:

hostname

cat /etc/samba/smb.conf

Регистр букв не имеет значения.

3. Установка Avahi

Если предыдущий способ не поможет, то установка Avahi должна помочь. Samba не будет отображаться в сетях Windows, но зато появится в сетевом окружении в Nautilus. Для установки Avahi выполните:

sudo apt install avahi-daemon avahi-utils

После этого сервис стоит запустить и добавить в автозагрузку:

sudo systemctl enable avahi-daemon

sudo systemctl start avahi-daemon

Проверить доступные сервисы можно командой:

avahi-browse --all

Среди них должна быть ваша шара, обозначенная как Microsoft Windows Network local.

4. Установка WSDD

Сервис WSDD нужен для того чтобы вашу шару было видно из Windows. Можно использовать сервис wsdd2 из этого репозитория. Его надо собрать из исходников, но в этом нет ничего сложного. Сначала склонируйте репозиторий:

git clone https://github.com/Andy2244/wsdd2.git

Затем перейдите в папку с проектом:

cd wsdd2

Выполните make для сборки:

make

Затем установите программу, она только скопирует исполняемый файл и службу systemd в нужные директории:

sudo make install

Осталось запустить службу:

sudo systemctl daemon-reload

sudo systemctl enable --now wsdd2

Теперь Windows сможет видеть ваш сервер Samba. Таким образом если всё сделать правильно, то все всех будут видеть.

1. Общий доступ в Windows

Убедитесь, что в Windows общий доступ был включён. Если общий доступ отключен, то вы не сможете никак получить доступ к ресурсам. Откройте проводник и перейдите в пункт Сеть. Если сетевой доступ отключён, то система выдаст соответствующее предупреждение:

Кликните по нему чтобы включить общий доступ, затем выберите Включить сетевое обнаружение и общий доступ к файлам.

После этого система ещё раз спросит надо ли разрешить доступ для всех общественных сетей. Ответьте утвердительно:

После этого вы сможете получить доступ к общим ресурсам этого компьютера.

2. Включение SMB1 в Windows

Для того чтобы включить поддержку протокола SMB1 в Windows 10 откройте поиск и наберите Включение компонентов. Затем откройте утилиту Включение и выключение компонентов Windows:

Дальше найдите пункт SMB1.0 CIFS File Sharing Support и установите напротив него галочку:

Затем необходимо перезапустить компьютер:

После этого Ubuntu начнёт видеть вашу шару Windows и вы сможете к ней подключится.

Настройка клиента

Исходя из выше перечисленного, клиент скорее всего не виноват, но можно попробовать его настроить чтобы быть уверенным точно. Как я уже написал выше Nautilus для подключения и просмотра общих папок Windows и Samba использует виртуальную файловую систему gvfs. А та, в свою очередь использует библиотеку libsmbclient для получения необходимых данных. Поэтому мы можем попытаться исправить ситуацию переопределив некоторые параметры в /etc/samba/smb.conf. Но работает это далеко не всегда.

1. Установить Samba

Если файловый сервер Samba у вас не установлен, то его надо установить для того чтобы был создан файл /etc/samba/smb.conf с параметрами по умолчанию. Они потом будут использоваться библиотекой libsmbclient и самой утилитой smbclient, которую вы можете применять для тестирования. Для установки выполните:

sudo apt install samba

Проверьте конфигурационный файл Samba на ошибки с помощью такой команды:

testparm

2. Рабочая группа

По умолчанию используется рабочая группа WORKGROUP. Убедитесь, что ваша рабочая группа имеет именно это имя, также убедитесь, что в /etc/samba/smb.conf задано правильное имя рабочей группы в параметре workgroup:

sudo vi /etc/samba/smb.conf

workgroup = WORKGROUP

3. Версия протокола

В современных системах Windows для общего доступа к папкам используется файловая система CIFS, использующая современные версии протоколов SMB2 и SMB3. Эти протоколы не поддерживают обзор доступных общих папок так, как это ожидает получить Nautilus. Для того чтобы всё работало надо использовать старый протокол NT1. Чтобы его включить добавьте параметр client max protocol после параметра workgroup:

client max protocol = NT1

После этого сохраните изменения и перезагрузите компьютер и проверьте.

4. Правильный порядок разрешения имён

Неверный порядок разрешения сетевых имен тоже может стать проблемой. Чтобы исправить его найдите в smb.conf параметр и приведите его к такому виду:

name resolve order = bcast lmhosts host wins

Здесь первым используется bcast, широковещательные сообщения, которые рассылаются по вашей локальной сети и ищут компьютеры с общими папками.

5. Не тот интерфейс

Если в вашем компьютере несколько сетевых интерфейсов, возможно smbclient пытается использовать не тот интерфейс. Чтобы посмотреть список интерфейсов используйте команду:

ls /sys/class/net

Затем найдите в /etc/samba/smb.conf параметр interface и замените в его значении eth0 на имя вашего интерфейса, который обеспечивает связь с нужной локальной сетью. Например на enp0s8:

interfaces = 127.0.0.0/8 enp0s8

После этого надо перезапустить службы Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

6. Отладка

Если сеть Windows всё ещё не работает, вы можете попытаться отлаживать GVFS чтобы понять где именно возникает проблема и в чём её суть. Для этого надо завершить текущий сервер GVFS и запустить свой в терминале с включённой опцией отладки. Для этого выполните:

pkill gvfs; pkill nautilus

GVFS_DEBUG=all GVFS_SMB_DEBUG=10 $(find /usr/lib* -name gvfsd 2>/dev/null) --replace 2>&1 | tee gvfsd.log

Затем откройте Nautils и войдите в сетевое окружение, сеть Windows. При этом в терминале будут выводится сообщения об ошибках работы службы. Вы можете использовать эти сообщения чтобы искать информацию в Google или попросить помощи на форумах.

7. Проблема в GVFS

Баг в GVFS, о котором я писал выше наблюдался для Samba версии 4.8 и ниже. Если сервер поддерживает протокол более высокого уровня, то клиент пытается использовать этот протокол, например SMB2 или SMB3, но на этих протоколах не работает отображение доступных ресурсов. Если у вас именно эта проблема, то для полного решения придется ждать обновления или использовать обходное решение описанное ниже.

8. Подключение напрямую

Даже если у вас не работает обнаружение сетевых ресурсов Windows, вы все ещё можете подключится к нужному компьютеру и получить с него файлы. Откройте пункт Другие места на левой панели Nautilus. Внизу окна вы увидите надпись Подключится к серверу введите smb://адрес_сервера в поле слева и нажмите Enter:

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

Введите пароль и вы увидите доступные общие папки:

Выводы

Если всё будет сделано правильно то Linux увидит вашу шару Windows или Samba:

В этой статье мы кратко рассмотрели почему Ubuntu не видит сеть Windows, а также как исправить эту проблему. Если проблему с сетевым обнаружением устранить не удается, вы всегда можете попробовать подключится вручную. Это не решает основную проблему, но позволяет получить нужные файлы. Вы знаете другие способы решения? Поделитесь ими в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Asked

Viewed
7k times

Having upgraded to 20.04 the file manager shows the windows network as empty. In 19.10 I was able to open shares on my local server. On other computers in my network I am able to browse computers and workgroups. I suspect that this is a protocol/security issue as I can’t connect to the server using ftp in the file manager either but I can connect with FileZilla. FileZilla does say that ftp over TLS is not available when I connect. How can I get around this issue?

asked Apr 24, 2020 at 12:14

Nigel's user avatar

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

Вы, наверное, не раз сталкивались с проблемой, что Ubuntu не видит сеть Windows или Windows не видит сетевую шару Linux. Такая проблема характерна для многих дистрибутивов с окружением Gnome. Ситуация довольно неоднозначная, раньше причиной этому был баг в GVFS, потом появилось ещё несколько осложняющих дело факторов.

В этой статье мы рассмотрим что делать если Ubuntu не видит шары Windows или Samba, как к ним всё таки подключится и можно ли решить проблему, сделать так чтобы Nautilus и Dolphin начали всё таки видеть сетевые ресурсы.

Почему Ubuntu не видит сеть Windows или Samba?

Нужно разобраться почему Ubuntu не может увидеть сеть Windows. Начиная с Windows 10 в компании Microsoft решили отказаться от старого протокола SMB1 и использовать только SMB2 и SMB3. Но в этих протоколах нет сетевого обнаружения. Для сетевого обнаружения в Windows теперь используется новый сервис WS-Discovery. В Nautilus для отображения сетевых ресурсов используется либо avahi либо протокол SMB1. Поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре. Windows по умолчанию шары Samba тоже видеть не будет, потому что новый WS-Discovery в Samba не поддерживается. Ещё в 2015 году были предложены патчи для Samba добавляющие эту функциональность, но разработчики решили, что оно им не нужно. Поэтому если вы хотите чтобы Windows видела Samba, нужно отдельно установить сервис WSDD.

Но это ещё не всё. Начиная с версии Samba 4.11 разработчики решили, что они ничем не хуже Microsoft и отключили по умолчанию поддержку протокола SMB1. Теперь Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решается проблема либо установкой на Samba сервер Avahi, либо включением поддержки старого протокола SMB1 на сервере Samba.

Настойка сервера Samba

1. Включение протокола SMB1

Для того чтобы активировать протокол SMB1 в Samba необходимо добавить такие строчки в /etc/samba/smb.conf в секцию global:

sudo vi /etc/samba/smb.conf

server min protocol = NT1
client min protocol = NT1
min protocol = NT1

После этого надо перезапустить Samba.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Хочу обратить ваше внимание, что у меня всё заработало только после того как я перезагрузил и сервер и клиент. Видимо что-то где-то кэшируется.

2. Настройка имени хоста

Имя хоста вашего компьютера, выводимое командой hostname должно совпадать со значением в файле /etc/hosts и со значением параметра netbios name в файле /etc/samba/smb.conf. Например:

hostname

cat /etc/samba/smb.conf

Регистр букв не имеет значения.

3. Установка Avahi

Если предыдущий способ не поможет, то установка Avahi должна помочь. Samba не будет отображаться в сетях Windows, но зато появится в сетевом окружении в Nautilus. Для установки Avahi выполните:

sudo apt install avahi-daemon avahi-utils

После этого сервис стоит запустить и добавить в автозагрузку:

sudo systemctl enable avahi-daemon

sudo systemctl start avahi-daemon

Проверить доступные сервисы можно командой:

avahi-browse --all

Среди них должна быть ваша шара, обозначенная как Microsoft Windows Network local.

4. Установка WSDD

Сервис WSDD нужен для того чтобы вашу шару было видно из Windows. Можно использовать сервис wsdd2 из этого репозитория. Его надо собрать из исходников, но в этом нет ничего сложного. Сначала склонируйте репозиторий:

git clone https://github.com/Andy2244/wsdd2.git

Затем перейдите в папку с проектом:

cd wsdd2

Выполните make для сборки:

make

Затем установите программу, она только скопирует исполняемый файл и службу systemd в нужные директории:

sudo make install

Осталось запустить службу:

sudo systemctl daemon-reload

sudo systemctl enable --now wsdd2

Теперь Windows сможет видеть ваш сервер Samba. Таким образом если всё сделать правильно, то все всех будут видеть.

1. Общий доступ в Windows

Убедитесь, что в Windows общий доступ был включён. Если общий доступ отключен, то вы не сможете никак получить доступ к ресурсам. Откройте проводник и перейдите в пункт Сеть. Если сетевой доступ отключён, то система выдаст соответствующее предупреждение:

Кликните по нему чтобы включить общий доступ, затем выберите Включить сетевое обнаружение и общий доступ к файлам.

После этого система ещё раз спросит надо ли разрешить доступ для всех общественных сетей. Ответьте утвердительно:

После этого вы сможете получить доступ к общим ресурсам этого компьютера.

2. Включение SMB1 в Windows

Для того чтобы включить поддержку протокола SMB1 в Windows 10 откройте поиск и наберите Включение компонентов. Затем откройте утилиту Включение и выключение компонентов Windows:

Дальше найдите пункт SMB1.0 CIFS File Sharing Support и установите напротив него галочку:

Затем необходимо перезапустить компьютер:

После этого Ubuntu начнёт видеть вашу шару Windows и вы сможете к ней подключится.

Настройка клиента

Исходя из выше перечисленного, клиент скорее всего не виноват, но можно попробовать его настроить чтобы быть уверенным точно. Как я уже написал выше Nautilus для подключения и просмотра общих папок Windows и Samba использует виртуальную файловую систему gvfs. А та, в свою очередь использует библиотеку libsmbclient для получения необходимых данных. Поэтому мы можем попытаться исправить ситуацию переопределив некоторые параметры в /etc/samba/smb.conf. Но работает это далеко не всегда.

1. Установить Samba

Если файловый сервер Samba у вас не установлен, то его надо установить для того чтобы был создан файл /etc/samba/smb.conf с параметрами по умолчанию. Они потом будут использоваться библиотекой libsmbclient и самой утилитой smbclient, которую вы можете применять для тестирования. Для установки выполните:

sudo apt install samba

Проверьте конфигурационный файл Samba на ошибки с помощью такой команды:

testparm

2. Рабочая группа

По умолчанию используется рабочая группа WORKGROUP. Убедитесь, что ваша рабочая группа имеет именно это имя, также убедитесь, что в /etc/samba/smb.conf задано правильное имя рабочей группы в параметре workgroup:

sudo vi /etc/samba/smb.conf

workgroup = WORKGROUP

3. Версия протокола

В современных системах Windows для общего доступа к папкам используется файловая система CIFS, использующая современные версии протоколов SMB2 и SMB3. Эти протоколы не поддерживают обзор доступных общих папок так, как это ожидает получить Nautilus. Для того чтобы всё работало надо использовать старый протокол NT1. Чтобы его включить добавьте параметр client max protocol после параметра workgroup:

client max protocol = NT1

После этого сохраните изменения и перезагрузите компьютер и проверьте.

4. Правильный порядок разрешения имён

Неверный порядок разрешения сетевых имен тоже может стать проблемой. Чтобы исправить его найдите в smb.conf параметр и приведите его к такому виду:

name resolve order = bcast lmhosts host wins

Здесь первым используется bcast, широковещательные сообщения, которые рассылаются по вашей локальной сети и ищут компьютеры с общими папками.

5. Не тот интерфейс

Если в вашем компьютере несколько сетевых интерфейсов, возможно smbclient пытается использовать не тот интерфейс. Чтобы посмотреть список интерфейсов используйте команду:

ls /sys/class/net

Затем найдите в /etc/samba/smb.conf параметр interface и замените в его значении eth0 на имя вашего интерфейса, который обеспечивает связь с нужной локальной сетью. Например на enp0s8:

interfaces = 127.0.0.0/8 enp0s8

После этого надо перезапустить службы Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

6. Отладка

Если сеть Windows всё ещё не работает, вы можете попытаться отлаживать GVFS чтобы понять где именно возникает проблема и в чём её суть. Для этого надо завершить текущий сервер GVFS и запустить свой в терминале с включённой опцией отладки. Для этого выполните:

pkill gvfs; pkill nautilus

GVFS_DEBUG=all GVFS_SMB_DEBUG=10 $(find /usr/lib* -name gvfsd 2>/dev/null) --replace 2>&1 | tee gvfsd.log

Затем откройте Nautils и войдите в сетевое окружение, сеть Windows. При этом в терминале будут выводится сообщения об ошибках работы службы. Вы можете использовать эти сообщения чтобы искать информацию в Google или попросить помощи на форумах.

7. Проблема в GVFS

Баг в GVFS, о котором я писал выше наблюдался для Samba версии 4.8 и ниже. Если сервер поддерживает протокол более высокого уровня, то клиент пытается использовать этот протокол, например SMB2 или SMB3, но на этих протоколах не работает отображение доступных ресурсов. Если у вас именно эта проблема, то для полного решения придется ждать обновления или использовать обходное решение описанное ниже.

8. Подключение напрямую

Даже если у вас не работает обнаружение сетевых ресурсов Windows, вы все ещё можете подключится к нужному компьютеру и получить с него файлы. Откройте пункт Другие места на левой панели Nautilus. Внизу окна вы увидите надпись Подключится к серверу введите smb://адрес_сервера в поле слева и нажмите Enter:

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

Введите пароль и вы увидите доступные общие папки:

Выводы

Если всё будет сделано правильно то Linux увидит вашу шару Windows или Samba:

В этой статье мы кратко рассмотрели почему Ubuntu не видит сеть Windows, а также как исправить эту проблему. Если проблему с сетевым обнаружением устранить не удается, вы всегда можете попробовать подключится вручную. Это не решает основную проблему, но позволяет получить нужные файлы. Вы знаете другие способы решения? Поделитесь ими в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Содержание

  1. Не удается получить доступ к папке, скопированной из Linux в Windows
  2. 2 ответа
  3. Windows не видит папку ubuntu
  4. Не удается получить доступ к общим папкам Ubuntu из Windows 7
  5. Ошибка Ubuntu не видит сеть Windows
  6. Почему Ubuntu не видит сеть Windows или Samba?
  7. Настойка сервера Samba
  8. 1. Включение протокола SMB1
  9. 2. Настройка имени хоста
  10. 3. Установка Avahi
  11. 4. Установка WSDD
  12. Настройка Windows
  13. 1. Общий доступ в Windows
  14. 2. Включение SMB1 в Windows
  15. Настройка клиента
  16. 1. Установить Samba
  17. 2. Рабочая группа
  18. 3. Версия протокола
  19. 4. Правильный порядок разрешения имён
  20. 5. Не тот интерфейс
  21. 6. Отладка
  22. 7. Проблема в GVFS
  23. 8. Подключение напрямую
  24. Выводы
  25. Подключение к папке Windows из Ubuntu по протоколу SMB
  26. Выдаем общий доступ к файлам на компьютере с Windows
  27. Добавляем компьютер в hosts на Ubuntu
  28. Подключение к папке Windows из Ubuntu. Вариант 1
  29. Подключение к папке Windows из Ubuntu. Вариант 2
  30. Надеемся у вас получилось подключение к папке Windows из Ubuntu
  31. Попробуй бесплатно наши курсы по Linux и devOPS на:yodo.im/start

Не удается получить доступ к папке, скопированной из Linux в Windows

Я довольно плохо знаком с проблемами файловой системы, особенно с монтированием файловой системы. Я искал и не нашел оптимального решения
У меня была Kali Linux на одном разделе с EXT4 или EXT3 (я не уверен) и Windows на другом. Чтобы установить Ubuntu на раздел Kali и отформатировать его в EXT4, я переместил мои файлы в раздел Windows в папку с именем temp. После установки Ubuntu к папке обычно обращаются и все ее содержимое из Ubuntu, но на стороне Windows 7 я вижу пустую папку с нулевым размером, даже если этот раздел является разделом Windows.

Что там произошло и как сделать эту папку снова доступной под Windows??

2 ответа

Разумным (*) набором разрешений будет следующая запись в /etc/fstab

Вы можете редактировать свой fstab с вашим любимым редактором

Варианты uid=username,gid=users сопоставьте файлы и каталоги, созданные под Linux в разделе NTFS, с вашим пользователем Linux.

Пока варианты dmask=022,fmask=133 являются значениями маски (битовые значения для разрешений, которых нет) для восьмеричных наборов разрешений «755» и «644» соответственно.

dmask для создания каталога и fmask для создания файла.

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

Для простоты использования для перевода в восьмеричные разрешения, вы можете использовать домашнюю страницу конвертера, как это в сети

Если вы довольны опциями монтирования, вы можете монтировать раздел с помощью

или, если он уже автоматически смонтирован Ubuntu и дает вам device busy ошибки, вы должны сначала размонтировать его через

или просто перезагрузиться.

(*) Взято из записи Arch Wiki при монтировании разделов NTFS.

Источник

windowsWindoms 10 после обновления перестал видеть сетевые ресурсы на Linux. Как исправить?

Строго говоря, причин по которым Windows 10 может не видеть сетевые ресурсы на Linux может быть много и связаны они могут быть как с железными проблемами так и с спецификой настройки сетевого оборудования и самих операционных систем.

Здесь же я хочу остановиться только на одном случае: когда вчера всё ещё было хорошо, сетевые шары были доступны, а вот сегодня вдруг (после очередного обновления) шары на Linux недоступны. Причём, сеть есть, и шары на Windows тоже есть, и с других компьютеров (например где Windows 7) шары на том же Linux прекрасно работают. То есть, когда точно известно, что проблема именно на компьютере под управлением Windoms 10 и связано это именно с настройками вызванными очередным обновлением.

В большинстве случаев для исправления проблемы достаточно внести небольшое исправление в реестр:
1. Находим ветку реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanWorkstationParameters
2. Находим там параметр: AllowInsecureGuestAuth и ставим ему значение 1.
3. Перезагружаем компьютер.

Если это не помогло можно ещё попробовать активировать поддержку протокола SMB 1.0. Для этого надо открыть панель управления (найти можно через поиск). В панели управления перейти в раздел «Программы», выбрать пункт «Включение или отключение компонентов Windows», и поставить галочки напротив соответствующих пунктов (рис.1.)

smb 1.0 activate
Риc.1. Включение общего доступа к файлам по протоколу SMB 1.0

Если это не помогло, то нужно искать другие причины. Очевидно у Вас не тот случай который я описал выше.

Источник

Не удается получить доступ к общим папкам Ubuntu из Windows 7

В Ubuntu Maverick я поделился некоторыми папками, используя графический интерфейс Nautilus «Параметры общего доступа».

Я вижу их из Windows 7, но когда я пытаюсь получить к ним доступ (из Windows), он запрашивает имя пользователя и пароль. Независимо от того, что я вхожу, он не впустит меня. Как мне настроить это, чтобы поделиться нормально?

Обновление: я обнаружил, что некоторые общие папки позволяют мне войти, но другие нет. Из тех, которые делают, некоторые из их подпапок делают, другие нет, и т.д. Как я могу исследовать, что вызывает это?

Перейдите в свою коробку Windows и получите доступ к общему ресурсу и введите имя пользователя и пароль Ubuntu.

Убедитесь, что ваш брандмауэр Ubuntu разрешает входящий доступ к портам Samba. Убедитесь, что брандмауэр Windows разрешает исходящий доступ для тех же портов.

Вы установили Samba? sudo apt-get install samba

Установите папку для обмена mkdir /home/USERNAME/sharedfolder

Сделайте резервную копию вашего файла smb.conf: sudo cp /etc/samba/smb.conf

Откройте файл smb.conf: gksu gedit /etc/samba/smb.conf

Добавьте это в самый конец файла:

Между строками не должно быть пробелов, и как перед, так и после каждого знака равенства должен быть один пробел. Сохраните и выйдите из Gedit.

Перезагрузите самбу sudo restart smbd

Используйте эту команду, чтобы проверить файл smb.conf на наличие синтаксических ошибок: sudo testparm

Теперь вы должны иметь возможность поделиться с вашего компьютера с Windows 7.

Редактировать:

Я понимаю, что вы пытаетесь получить доступ к общему ресурсу Ubuntu из Windows 7 и что вы хотите сделать это с помощью графического интерфейса.

но когда я пытаюсь получить к ним доступ (из Windows), он запрашивает имя пользователя и пароль. Независимо от того, что я вхожу, он не впустит меня. Как мне настроить это, чтобы поделиться нормально?

Для этого вы должны установить Samba-имя пользователя / пароль на вашем Linux-компьютере, как я описал выше. Я мог бы порекомендовать для этого программу с графическим интерфейсом для Ubuntu, но, честно говоря, сделать это гораздо сложнее и сложнее. Программа называется gadmin-samba и находится в репозитории Ubuntu. Внимание! Вы можете полностью потерять конфигурацию, если неправильно используете эту программу. Пожалуйста, дайте нам знать, какие шаги вы предприняли, и с какими ошибками вы столкнулись. Благодарность!

Источник

Ошибка Ubuntu не видит сеть Windows

Вы, наверное, не раз сталкивались с проблемой, что Ubuntu не видит сеть Windows или Windows не видит сетевую шару Linux. Такая проблема характерна для многих дистрибутивов с окружением Gnome. Ситуация довольно неоднозначная, раньше причиной этому был баг в GVFS, потом появилось ещё несколько осложняющих дело факторов.

В этой статье мы рассмотрим что делать если Ubuntu не видит шары Windows или Samba, как к ним всё таки подключится и можно ли решить проблему, сделать так чтобы Nautilus и Dolphin начали всё таки видеть сетевые ресурсы.

Почему Ubuntu не видит сеть Windows или Samba?

Нужно разобраться почему Ubuntu не может увидеть сеть Windows. Начиная с Windows 10 в компании Microsoft решили отказаться от старого протокола SMB1 и использовать только SMB2 и SMB3. Но в этих протоколах нет сетевого обнаружения. Для сетевого обнаружения в Windows теперь используется новый сервис WS-Discovery. В Nautilus для отображения сетевых ресурсов используется либо avahi либо протокол SMB1. Поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре. Windows по умолчанию шары Samba тоже видеть не будет, потому что новый WS-Discovery в Samba не поддерживается. Ещё в 2015 году были предложены патчи для Samba добавляющие эту функциональность, но разработчики решили, что оно им не нужно. Поэтому если вы хотите чтобы Windows видела Samba, нужно отдельно установить сервис WSDD.

Но это ещё не всё. Начиная с версии Samba 4.11 разработчики решили, что они ничем не хуже Microsoft и отключили по умолчанию поддержку протокола SMB1. Теперь Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решается проблема либо установкой на Samba сервер Avahi, либо включением поддержки старого протокола SMB1 на сервере Samba.

Настойка сервера Samba

1. Включение протокола SMB1

Для того чтобы активировать протокол SMB1 в Samba необходимо добавить такие строчки в /etc/samba/smb.conf в секцию global:

sudo vi /etc/samba/smb.conf

server min protocol = NT1
client min protocol = NT1
min protocol = NT1

Snimok ekrana ot 2022 05 08 11 31 42

После этого надо перезапустить Samba.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Хочу обратить ваше внимание, что у меня всё заработало только после того как я перезагрузил и сервер и клиент. Видимо что-то где-то кэшируется.

2. Настройка имени хоста

Имя хоста вашего компьютера, выводимое командой hostname должно совпадать со значением в файле /etc/hosts и со значением параметра netbios name в файле /etc/samba/smb.conf. Например:

Snimok ekrana ot 2022 05 08 11 31 10

Регистр букв не имеет значения.

3. Установка Avahi

Если предыдущий способ не поможет, то установка Avahi должна помочь. Samba не будет отображаться в сетях Windows, но зато появится в сетевом окружении в Nautilus. Для установки Avahi выполните:

sudo apt install avahi-daemon avahi-utils

После этого сервис стоит запустить и добавить в автозагрузку:

sudo systemctl enable avahi-daemon

sudo systemctl start avahi-daemon

Проверить доступные сервисы можно командой:

Snimok ekrana ot 2022 05 08 11 34 16

Среди них должна быть ваша шара, обозначенная как Microsoft Windows Network local.

4. Установка WSDD

Сервис WSDD нужен для того чтобы вашу шару было видно из Windows. Можно использовать сервис wsdd2 из этого репозитория. Его надо собрать из исходников, но в этом нет ничего сложного. Сначала склонируйте репозиторий:

git clone https://github.com/Andy2244/wsdd2.git

Затем перейдите в папку с проектом:

Выполните make для сборки:

Затем установите программу, она только скопирует исполняемый файл и службу systemd в нужные директории:

Осталось запустить службу:

sudo systemctl daemon-reload

Snimok ekrana ot 2022 05 08 11 35 16

Теперь Windows сможет видеть ваш сервер Samba. Таким образом если всё сделать правильно, то все всех будут видеть.

Настройка Windows

1. Общий доступ в Windows

Убедитесь, что в Windows общий доступ был включён. Если общий доступ отключен, то вы не сможете никак получить доступ к ресурсам. Откройте проводник и перейдите в пункт Сеть. Если сетевой доступ отключён, то система выдаст соответствующее предупреждение:

Snimok ekrana 11

Кликните по нему чтобы включить общий доступ, затем выберите Включить сетевое обнаружение и общий доступ к файлам.

Snimok ekrana 12

После этого система ещё раз спросит надо ли разрешить доступ для всех общественных сетей. Ответьте утвердительно:

Snimok ekrana 13

После этого вы сможете получить доступ к общим ресурсам этого компьютера.

2. Включение SMB1 в Windows

Для того чтобы включить поддержку протокола SMB1 в Windows 10 откройте поиск и наберите Включение компонентов. Затем откройте утилиту Включение и выключение компонентов Windows:

samba1

Дальше найдите пункт SMB1.0 CIFS File Sharing Support и установите напротив него галочку:

samba2

Затем необходимо перезапустить компьютер:

samba3 1

После этого Ubuntu начнёт видеть вашу шару Windows и вы сможете к ней подключится.

Настройка клиента

Исходя из выше перечисленного, клиент скорее всего не виноват, но можно попробовать его настроить чтобы быть уверенным точно. Как я уже написал выше Nautilus для подключения и просмотра общих папок Windows и Samba использует виртуальную файловую систему gvfs. А та, в свою очередь использует библиотеку libsmbclient для получения необходимых данных. Поэтому мы можем попытаться исправить ситуацию переопределив некоторые параметры в /etc/samba/smb.conf. Но работает это далеко не всегда.

Snimok ekrana ot 2020 06 16 19 58 47

1. Установить Samba

Если файловый сервер Samba у вас не установлен, то его надо установить для того чтобы был создан файл /etc/samba/smb.conf с параметрами по умолчанию. Они потом будут использоваться библиотекой libsmbclient и самой утилитой smbclient, которую вы можете применять для тестирования. Для установки выполните:

sudo apt install samba

Проверьте конфигурационный файл Samba на ошибки с помощью такой команды:

Snimok ekrana ot 2020 06 16 21 44 26

2. Рабочая группа

По умолчанию используется рабочая группа WORKGROUP. Убедитесь, что ваша рабочая группа имеет именно это имя, также убедитесь, что в /etc/samba/smb.conf задано правильное имя рабочей группы в параметре workgroup:

sudo vi /etc/samba/smb.conf

Snimok ekrana ot 2020 06 16 21 39 54

3. Версия протокола

В современных системах Windows для общего доступа к папкам используется файловая система CIFS, использующая современные версии протоколов SMB2 и SMB3. Эти протоколы не поддерживают обзор доступных общих папок так, как это ожидает получить Nautilus. Для того чтобы всё работало надо использовать старый протокол NT1. Чтобы его включить добавьте параметр client max protocol после параметра workgroup:

client max protocol = NT1

Snimok ekrana ot 2020 06 16 21 41 12

После этого сохраните изменения и перезагрузите компьютер и проверьте.

4. Правильный порядок разрешения имён

Неверный порядок разрешения сетевых имен тоже может стать проблемой. Чтобы исправить его найдите в smb.conf параметр и приведите его к такому виду:

name resolve order = bcast lmhosts host wins

Snimok ekrana ot 2020 06 16 21 40 43

Здесь первым используется bcast, широковещательные сообщения, которые рассылаются по вашей локальной сети и ищут компьютеры с общими папками.

5. Не тот интерфейс

Если в вашем компьютере несколько сетевых интерфейсов, возможно smbclient пытается использовать не тот интерфейс. Чтобы посмотреть список интерфейсов используйте команду:

Snimok ekrana ot 2020 06 16 21 44 12

Затем найдите в /etc/samba/smb.conf параметр interface и замените в его значении eth0 на имя вашего интерфейса, который обеспечивает связь с нужной локальной сетью. Например на enp0s8:

interfaces = 127.0.0.0/8 enp0s8

Snimok ekrana ot 2020 06 16 21 39 45

После этого надо перезапустить службы Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

6. Отладка

Если сеть Windows всё ещё не работает, вы можете попытаться отлаживать GVFS чтобы понять где именно возникает проблема и в чём её суть. Для этого надо завершить текущий сервер GVFS и запустить свой в терминале с включённой опцией отладки. Для этого выполните:

pkill gvfs; pkill nautilus

Snimok ekrana ot 2020 06 16 21 38 01

Затем откройте Nautils и войдите в сетевое окружение, сеть Windows. При этом в терминале будут выводится сообщения об ошибках работы службы. Вы можете использовать эти сообщения чтобы искать информацию в Google или попросить помощи на форумах.

7. Проблема в GVFS

Баг в GVFS, о котором я писал выше наблюдался для Samba версии 4.8 и ниже. Если сервер поддерживает протокол более высокого уровня, то клиент пытается использовать этот протокол, например SMB2 или SMB3, но на этих протоколах не работает отображение доступных ресурсов. Если у вас именно эта проблема, то для полного решения придется ждать обновления или использовать обходное решение описанное ниже.

8. Подключение напрямую

Даже если у вас не работает обнаружение сетевых ресурсов Windows, вы все ещё можете подключится к нужному компьютеру и получить с него файлы. Откройте пункт Другие места на левой панели Nautilus. Внизу окна вы увидите надпись Подключится к серверу введите smb://адрес_сервера в поле слева и нажмите Enter:

Snimok ekrana ot 2020 06 16 21 48 59

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

Snimok ekrana ot 2020 06 16 21 36 08

Введите пароль и вы увидите доступные общие папки:

Snimok ekrana ot 2020 06 16 21 36 14

Выводы

Если всё будет сделано правильно то Linux увидит вашу шару Windows или Samba:

Snimok ekrana ot 2022 05 08 11 36 56

В этой статье мы кратко рассмотрели почему Ubuntu не видит сеть Windows, а также как исправить эту проблему. Если проблему с сетевым обнаружением устранить не удается, вы всегда можете попробовать подключится вручную. Это не решает основную проблему, но позволяет получить нужные файлы. Вы знаете другие способы решения? Поделитесь ими в комментариях!

Источник

Подключение к папке Windows из Ubuntu по протоколу SMB

В сегодняшней статье речь пойдет о подключении к папке (файловому хранилищу) Windows (Samba) из Ubuntu 20.04 Long-Term Support (LTS)

Имеющаяся конфигурация: Компьютер с Windows 10 имеющий локальное доменное имя Halo и статический локальный IP адрес 172.16.0.3. Виртуальная машина с Ubuntu 20.04 и сетью в режиме моста. IP адрес 172.16.0.16.

Выдаем общий доступ к файлам на компьютере с Windows

Для начала убедитесь, что в настройках сетевых подключений у Вас стоит «Частная сеть» Это нужно для того, чтобы доступ работал правильно.snimok ekrana 2022 08 11 105350

Затем открываем проводник, вкладка этот компьютер, нажимаем правую кнопку мыши по необходимому диску (также работает и с отдельными папками) и нажимаем свойства.

snimok ekrana 2022 08 11 104949

Переходим в раздел Доступ, расширенные настройки общего доступа.

snimok ekrana 2022 08 11 105005

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

snimok ekrana 2022 08 11 105018

snimok ekrana 2022 08 11 105029

Затем применить и ещё раз применить. Также можно создать отдельного пользователя, для разграничения прав. Аналогично поступаю с диском E.

Продолжаем подключение к папке Windows из Ubuntu.

Добавляем компьютер в hosts на Ubuntu

Открываем терминал на Ctrl + Alt + T, вводим команду sudo gedit /etc/hosts делаем как на скриншоте. Используется табуляция (Tab), а не пробел.

snimok ekrana ot 2022 08 10 19 52 47

Этим мы пропишем локальное доменное имя компьютера, к которому будем подключаться к его IP адресу, т.к Ubuntu сама по себе не умеет в подобное, в отличие от Windows. Проверим через команду ping Halo. Всё работает как нам нужно.

snimok ekrana ot 2022 08 10 19 54 17

Подключение к папке Windows из Ubuntu. Вариант 1

Тут мы будем использовать cifs-utils для монтирования сетевой папки в любую папку на Ubuntu.

Устанавливаем пакет командой sudo apt install cifs-utils

snimok ekrana ot 2022 08 10 21 17 14

Командой ls проверяем, создалась ли папка.

snimok ekrana ot 2022 08 10 21 17 11

snimok ekrana ot 2022 08 10 21 18 13

snimok ekrana ot 2022 08 10 21 18 24

Названия папок замазаны, т.к это мой личный ПК и мои персональные данные.

Подключение к папке Windows из Ubuntu. Вариант 2

В файловом менеджере нажимаем «другие места»

snimok ekrana ot 2022 08 10 21 18 54

Вводим в нижнее поле команду smb://

Далее нас приветствует окно входа, вводим данные и пользуемся. Видит и D и E открытые, остальные некоторые глюки программы. На этом всё.

snimok ekrana ot 2022 08 10 21 19 08snimok ekrana ot 2022 08 10 21 19 14

Надеемся у вас получилось подключение к папке Windows из Ubuntu

Попробуй бесплатно наши курсы по Linux и devOPS на:yodo.im/start

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4.5 / 5. Количество оценок: 2

Источник

  • Ubuntu сбивает время в windows
  • Ubuntu и доменная сеть windows
  • Ubuntu после установки загружается только windows
  • Ubuntu и windows на одном ssd
  • Ubuntu подключить общую папку windows