Windows не может получить доступ к сетевой папке ubuntu

cannot-connect-to-linux-samba-from-windows-000.pngОшибки сетевого доступа в Windows — вещь довольно неприятная, тем более что не все умеют их правильно диагностировать и исправлять. При том, что интернет кишит различными способами самой разной степени сомнительности. Поэтому мы решили подробно разобрать одну из типовых ситуаций, показав как процесс диагностики, так и различные способы решения проблемы, каждое из которых имеет свои особенности, в частности влияние на безопасность. Такой подход позволит не только выяснить причины ошибки и устранить ее, но и поможет подойти к этому вопросу осознанно, полностью представляя последствия своих действий.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

Код ошибки: 0x80004005 
Неопознанная ошибка

cannot-connect-to-linux-samba-from-windows-001.png

Если попробовать подключиться в консоли, например, командой:

net view \\192.168.233.182

Где 192.168.233.182 — адрес искомого сервера, то получим немного другую ошибку:

Системная ошибка 53.
Не найден сетевой путь.

При этом указанный узел нормально пингуется, а проверка доступности 445 порта говорит, что все нормально:

cannot-connect-to-linux-samba-from-windows-002.pngПосле этого обычно начинается сетование на кривизну какого-либо из решений (в зависимости от личных предпочтений) и поиск решения в интернете, где можно найти как условно рабочие, так и полную дичь, вроде включения SMB1 и бездумного изменения различных политик и ключей реестра.

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

Но сперва поясним ситуацию по протоколу SMB1:

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

Кроме того, даже если вы включите его поддержку, то начиная с Windows 1709 она автоматически отключится после 15 дней неиспользования. В общем: включать SMB1 не нужно, разве что только вам действительно нужна поддержка устаревших клиентов.

В современных версиях Samba протокол SMB1 также отключен и минимальной поддерживаемой версией является SMB2_02, а максимальной SMB3. Это параметры по умолчанию и проверить их можно командами:

testparm --parameter-name="min protocol"
testparm --parameter-name="max protocol"

Настройки по умолчанию достаточно актуальны, и мы не советуем отдельно задавать версии протоколов без особой на то нужды. SMB2_02 — обозначает младшую версию протокола SMB2, а SMB3 указывает на старшую доступную версию, таким образом поддерживаются все системы начиная с Windows Vista и Server 2008. Причиной ошибки SMB1 быть не может.

Поэтому не занимаемся ерундой, а ищем истинную причину, в этом нам поможет Журнал событий. Раскрываем последовательно Журналы приложений и служб — Microsoft — Windows — SMBClient и в журнале Security находим ошибку 31017:

Небезопасный гостевой вход отклонен.Рекомендации.
Это событие указывает на попытку сервера разрешить вход пользователя как непроверенного гостя, которая была отклонена клиентом.
Для гостевого входа не поддерживаются стандартные функции обеспечения безопасности, например подписывание и шифрование.
Вследствие этого гостевой вход уязвим для атак "злоумышленник в середине", которые могут привести к попаданию конфиденциальных данных в сеть.
По умолчанию небезопасный гостевой вход отключен в Windows. Корпорация Майкрософт не рекомендует включать его.

cannot-connect-to-linux-samba-from-windows-003.pngПосле чего все становится на свои места. Нет никаких чудес, просто политики безопасности Windwos не позволяют подключаться к серверу с анонимным гостевым доступом. Кстати, это относится не только к Samba.

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

Решение №1. Отключаем гостевой доступ на сервере Samba

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

map to guest = never

А в настройках каждого общего ресурса укажем:

guest ok = no

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

Настройка файлового сервера Samba на платформе Debian / Ubuntu

Сохраняем все изменения и проверяем конфигурацию на ошибки:

testparm

Затем перезапускаем службу:

systemctl restart smbd

После чего повторно пробуем подключиться и сразу видим окно для ввода учетных данных:

cannot-connect-to-linux-samba-from-windows-004.pngПроблема решена, ресурсы файлового сервера Samba снова доступны.

Решение №2. Разрешаем небезопасный гостевой вход в Windows

Если Решение №1 вас по каким-либо причинам не устраивает, и вы осознанно хотите понизить уровень безопасности вашей сети, то можно пойти другим путем и разрешить небезопасный гостевой вход.

Запустим редактор групповой политики (gpedit.msc) и перейдем в Конфигурация компьютера — Административные шаблоны — Сеть — Рабочая станция Lanman и переводим политику Включить небезопасные гостевые входы в положение Включено.

cannot-connect-to-linux-samba-from-windows-005.png

После чего вам потребуется перезапустить службу Рабочая станция или перезагрузить компьютер.

Альтернативой этому способу будет внесение изменений через реестр:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1

Затем перезапустим службу:

net stop LanmanWorkstation && net start LanmanWorkstation

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

cannot-connect-to-linux-samba-from-windows-006.pngКакой вывод можно сделать после прочтения данного материала? Прежде всего понять, что любые сетевые ошибки имеют под собой вполне определенную причину, а не являются воздействием некой неведомой силы. И эти причины имеют свойство отображаться в журналах и логах.

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Делаю вашу работу:

  1. sudo apt-get install samba smbclient smbfs

  2. sudo nano /etc/samba/smb.conf

Заполняем по следующему принципу(стандартный кофиг можно удалить, или сбекапить):

[global] //главная секция настроек
  workgroup = home //имя локальной группы
  netbios name = my system //нетбиос имя компьютера
  server string = my file server //строка инфо о сервере
  security = share //уровень доступа
  browseable = yes //возможность просматривать вложенные каталоги
[my_share] //имя шары
  path = /home/user/my_share //путь к расшариваемому каталогу
  comment = for all //комментарий к шаре
  readonly = No //только чтение (выкл.)
  guest ok = Yes //возможность работы с каталогом пользователей без учетной записи на сервере

Если хотите, что бы пользователи могли писать в каталог:

  1. sudo chmod 777 /home/user/my_share

  2. readonly ставим в yes

После проделанных операций:

sudo smbd restart
sudo nmbd restart

Или просто

sudo reboot

P.S. Все это есть на первой странице поиска, первая строчка. Собственно, когда мне нужно было, я там и нашел. НЕ ЛЕНИТЕСЬ ВПРЕДЬ!

По поводу «Локальная сеть имеет домен .local, служба avahi будет отключена…»:

Про avahi читаем на вики, тут! Если не нужна, можно выпилить командой sudo apt-get purge avahi-daemon, только аккуратно, что бы ничего лишнего за собой не потянула.

  • Печать

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

Тема: Не открываются папки Ubuntu из-под Windows («Не найден сетевой путь»).  (Прочитано 14892 раз)

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

Оффлайн
M.A.S.47

Здравствуйте, линуксоиды!

Поставил Ubuntu совсем недавно, мало пока в чём разбираюсь. Столкнулся с проблемой:

Windows 7 не может открыть расшаренные папки Ubuntu. Появляется окно с ошибкой «Не найден сетевой путь». Из Ubuntu на Windows зайти можно, правда довольно медленно всё открывается, и иногда появляется окно с ошибкой. Помогите, пожалуйста. Я уже не одну тему по этому поводу прочитал, в Google искал, но безрезультатно.

Вот моя конфигурация Samba (/etc/samba/smb.conf,) testparm -s:

Вот такие проблемы чаще всего и отталкивают от Linux, но я очень хочу на нём остаться.

« Последнее редактирование: 08 Апреля 2011, 23:30:32 от M.A.S.47 »


Оффлайн
fisher74

Чтобы посмотреть как самба считает конфиг вводите в консоле

testparm -s
А сама samba-то работает?


Оффлайн
belobog1

а вы случайно ни на одном и том же компьютере пытаетесь через вин увидеть линь?(то бишь на одном компьютере и виндовс и Ubuntu, дуалбут иначе говоря)

ubuntu_windows_mac os x_open solaris_чтоб ещё впихнуть в железку


Оффлайн
fisher74

Ого…. я до такого даже не додумался бы…
Что? Были реальные случаи?


Оффлайн
M.A.S.47

fisher74, обновил, спасибо. Я не знаю, насколько хорошо она работает, но Windows-папки открываются очень медленно, иногда выскакивают окна с ошибками («Не удалось подключить местоположение» или просто долго висит «Открывается…»).

belobog1, у меня в локальной сети два компьютера, под Windows 7 и Ubuntu.

« Последнее редактирование: 08 Апреля 2011, 23:37:57 от M.A.S.47 »


Оффлайн
belobog1

у меня хр и Ubuntu по локалке соеденены и нормально в обоих направлениях работают, правда я расшаривал самбу через webmin.

ubuntu_windows_mac os x_open solaris_чтоб ещё впихнуть в железку


Оффлайн
shumtest


Оффлайн
M.A.S.47

Workgroup = WORKGROUP, прописано…


Оффлайн
shumtest

Workgroup = WORKGROUP, прописано…

в конфиге, в первом посте, нет.


Оффлайн
M.A.S.47

Workgroup = WORKGROUP, прописано…

в конфиге, в первом посте, нет.

Я не знаю, почему так. В самом smb.conf это есть.


Оффлайн
AnrDaemon

Я не знаю, почему так. В самом smb.conf это есть.

testparm -sv | grep -i workgroup

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…


Оффлайн
mdma

Как вы пытаетесь открыть шару из-под вин? (в смысле что указываете в адресе)

« Последнее редактирование: 10 Апреля 2011, 00:46:42 от mdma »

a.k.a Shaman


Оффлайн
M.A.S.47

Ввёл в консоли testparm -sv, получил следующее

Я ввожу в консоли sudo nautilus, нахожу нужную папку, ПКМ-Общий доступ, ставлю везде галочки. Потом в Windows 7 открываю «Сеть», компьютер с Ubuntu. Там все папки расшаренные прекрасно отображаются, но зайти ни в одну не удаётся. Появляется сообщение «Windows не может получить доступ к \\U-210-Ubuntu\<имя папки>. Не найден сетевой путь».

P.S. А что это за rlimit, который меньше виндовского?


Оффлайн
AnrDaemon

Ну естественно, от рута расшарили — только рут и имеет доступ в юзершары…
Либо включайте usershare allow guests, либо расшаривайте нормально.

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…


Оффлайн
M.A.S.47

AnrDaemon, usershare allow guests включен. А как мне расшарить не от root? У меня появляется сообщение «Не удалось изменить права доступа к папке».

И, я понял, не работает только с NTFS-папками. На папки из home заходит спокойно.

« Последнее редактирование: 12 Апреля 2011, 16:46:38 от M.A.S.47 »


  • Печать

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

Если вы из Windows 10 или 11 не можете открыть сетевые папки на других сетевых устройствах (NAS, Samba сервера Linux) или на компьютерах со старыми версиями Windows (Windows 7/ XP /2003), скорее всего проблема связана с тем, что в вашей версии Windows отключена поддержка устаревших и небезопасных версий протокола SMB (используется в Windows для доступа к общим сетевым папкам и файлам). В современных версиях Windows 10 и в Windows 11 по-умолчанию отключен протокол SMBv1 и анонимный (гостевой) доступ к сетевым папкам по протоколу SMBv2 и SMBv3.

Microsoft планомерно отключает старые и небезопасные версии протокола SMB во всех последний версиях Windows. Начиная с Windows 10 1709 и Windows Server 2019 (как в Datacenter так и в Standard редакциях) в операционной системе по умолчанию отключен протокол SMBv1 (помните атаку шифровальщика WannaCry, которая как раз и реализовалась через дыру в SMBv1).

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

Содержание:

  • Вы не можете получить гостевой доступ к общей папке без проверки подлинности
  • Вашей системе необходимо использовать SMB2 или более позднюю
  • Нет доступа к сетевой папке, у вас нет прав доступа
  • Дополнительные способы проверки доступа к сетевой папке в Windows

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

Начиная с версии Windows 10 1709 (Fall Creators Update) Enterprise и Education пользователи стали жаловаться, что при попытке открыть сетевую папку на соседнем компьютере стала появляться ошибка:

Вы не можете получить доступ к этой общей папке, так как политики безопасности вашей организации блокируют гостевой доступ без проверки подлинности. Эти политики помогают защитить ваш компьютер от небезопасных или вредоносных устройств в сети.
An error occurred while reconnecting Y: to
\\nas1\share Microsoft Windows Network: You can’t access this shared folder because your organization’s security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.

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

При этом на других компьютерах со старыми версиями Windows 8.1/7 или на Windows 10 с билдом до 1709, эти же сетевые каталоги открываются нормально. Причина в том, что в современных билдах Windows 10 (начиная с 1709) по умолчанию запрещен сетевой доступ к сетевым папкам под гостевой учетной записью по протоколу SMBv2 (и ниже). Гостевой (анонимный) доступ подразумевают доступ к сетевой папке без аутентификации. При доступе под гостевым аккаунтом по протоколу SMBv1/v2 не применяются такие методы защиты трафика, как SMB подписывание и шифрование, что делает вашу сессию уязвимой против MiTM (man-in-the-middle) атак.

При попытке открыть сетевую папку под гостем по протоколу SMB2, в журнале клиента SMB (Microsoft-Windows-SMBClient) фиксируется ошибка:

Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 31017  

Rejected an insecure guest logon.

Данная ошибка говорит о том, что ваш компьютер (клиент) блокирует не аутентифицированный доступ под аккаунтом guest.

Чаще всего с этой проблемой можно столкнуться при использовании старых версий NAS (обычно для простоты настройки на них включают гостевой доступ) или при доступе к сетевым папкам на старых версиях Windows 7/2008 R2 или Windows XP /2003 с настроенным анонимным (гостевым) доступом (см. таблицу поддерживаемых версий SMB в разных версиях Windows).

Microsoft рекомендует изменить настройки на удаленном компьютере или NAS устройстве, который раздает сетевые папки. Желательно переключить сетевой ресурс в режим SMBv3. А если поддерживается только протокол SMBv2, тогда нужно настроить доступ с аутентификацией. Это самый правильный и безопасный способ исправить проблему.

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

  • NAS устройство – отключите гостевой доступ в настройках вашего NAS устройства (зависит от модели);
  • Samba сервер на Linux — если вы раздаете SMB папку с Linux, добавьте в в секции [global] конфигурационного файла smb.conf строку:
    map to guest = never

    А в секции с описанием сетевой папки запретить анонимный доступ:
    guest ok = no
  • В Windows вы можете включить общий доступ к сетевым папкам и принтерам с парольной защитой в разделе Control Panel\All Control Panel Items\Network and Sharing Center\Advanced sharing settings. Для All Networks (Все сети) в секции “Общий доступ с парольной защитой” (Password Protected Sharing) измените значение на “Включить общий доступ с парольной защитой” (Turn on password protected sharing). В этом случае анонимный (гостевой) доступ к папкам будет отключен и вам придется создать локальных пользователей, предоставить им доступ к сетевым папкам и принтерам и использовать эти аккаунты для сетевого доступа к общим папкам на этом компьютере.. Windows 10 Включить общий доступ с парольной защитой

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

Этот способ нужно использовать только как временный (!!!), т.к. доступ к папкам без проверки подлинности существенно снижает уровень безопасности ваших данных.

Чтобы разрешить гостевой доступ с вашего компьютера, откройте редактор локальных групповых политик (gpedit.msc) и перейдите в раздел: Конфигурация компьютера -> Административные шаблоны -> Сеть -> Рабочая станция Lanman (Computer Configuration ->Administrative templates -> Network (Сеть) -> Lanman Workstation). Включите политику Enable insecure guest logons (Включить небезопасные гостевые входы).

Windows 10 политика Включить небезопасные гостевые входы

Обновите настройки групповых политик в Windows с помощью команды:

gpupdate /force

В Windows 10 Home, в которой нет редактора локальной GPO,вы можете внести аналогичное изменение через редактор реестра вручную::

HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters “AllowInsecureGuestAuth”=dword:1

Или такими командами:

reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
reg add HKLM\Software\Policies\Microsoft\Windows\LanmanWorkstation /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f

Вашей системе необходимо использовать SMB2 или более позднюю

Другая возможная проблема при доступе к сетевой папке из Windows 10 – поддержка на стороне сервера только протокола SMBv1. Т.к. клиент SMBv1 по умолчанию отключен в Windows 10, то при попытке открыть шару или подключить сетевой диск вы можете получить ошибку:

Не удалось выполнить сопоставление сетевого диска из-за следующей ошибки.
Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу SMB1, который небезопасен и может подвергнуть вашу систему риску атаки.
Вашей системе необходимо использовать SMB2 или более позднюю версию.
You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher.

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

При этом соседние устройства SMB могут не отображаться в сетевом окружении и при открытии сетевых папок по UNC пути может появляться ошибка 0x80070035.

Сообщение об ошибки явно указывает, что сетевая папка поддерживает только SMBv1 для доступа к файлам. В этом случае нужно попытаться перенастроить удаленное SMB устройство для поддержки как минимум SMBv2 (правильный и безопасный путь).

Если сетевые папки раздает Samba сервер на Linux, вы можете указать минимально поддерживаемую версию SMB в файле smb.conf так:

[global]
server min protocol = SMB2_10
client max protocol = SMB3
client min protocol = SMB2_10
encrypt passwords = true
restrict anonymous = 2

В Windows 7/Windows Server 2008 R2 вы можете отключить SMBv1 и разрешить SMBv2 так через реестр:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force

В Windows 8.1 отключите SMBv1, разрешите SMBv2 и SMBv3 и проверьте что для вашего сетевого подключения используется частный или доменный профиль:

Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-SmbServerConfiguration –EnableSMB2Protocol $true

Если ваше сетевое устройство (NAS, Windows XP, Windows Server 2003), поддерживает только протокол SMB1, в Windows 10 вы можете включить отдельный компонент SMB1Protocol-Client. Но это не рекомендуется!!!

Если удаленное устройство требует использовать SMBv1 для подключения, и этот протокол отключен в вашем устройстве Windows, в Event Viewer появляется ошибка:

Log Name: Microsoft-Windows-SmbClient/Security
Source: Microsoft-Windows-SMBClient
Event ID: 32000
Description:  SMB1 negotiate response received from remote device when SMB1 cannot be negotiated by the local computer.

Запустите консоль PowerShell и проверьте, что SMB1Protocol-Client отключен (
State: Disabled
):

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

Включите поддержку протокола SMBv1 (потребуется перезагрузка):

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

powershell - Enable-WindowsOptionalFeature SMB1Protocol-Client

Также вы можете включить/отключить SMBv1 в Windows 10 и 11 из меню
optionalfeatures.exe
-> SMB 1.0/CIFS File Sharing Support –> SMB 1.0/CIFS Client.

включить клиент smbv1 в windows 11

В Windows 10 1709 и выше клиент SMBv1 автоматически удаляется, если он не использовался более 15 дней (за это отвечает компонент SMB 1.0/CIFS Automatic Removal).

В этом примере я включил только SMBv1 клиент. Не включайте компонент SMB1Protocol-Server, если ваш компьютер не используется устаревшими клиентами в качестве сервера для хранения общих папок.

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

Нет доступа к сетевой папке, у вас нет прав доступа

При подключении к сетевой папке на другом компьютере может появится ошибка:

Нет доступа к \\ComputerName\Share. Возможно у вас нет прав на использование этого сетевого ресурса. Обратитесь к системному администратору этого сервера для получения соответствующих прав доступа.
Network Error
Windows cannot access \\PC12\Share
You do not have permissions to access \\PC12\Share. Contact your network administrator to request access.

windows не открывается сетевая папка нет доступа

При появлении это ошибки нужно:

  1. Убедиться, что пользователю, под которым вы подключаетесь к сетевой папке, предоставлены права доступа на сервере. Откройте свойства общей папке на сервере и убедитесь что у вашего пользователя есть права доступа.
    Проверьте разрешения сетевой шары на сервере с помощью PowerShell:
    Get-SmbShareAccess -Name "tools"

    Затем проверьте NTFS разрешения:
    get-acl C:\tools\ |fl

    проверьте разрешения доступа на сетевую папку с помощью powershell
    Если нужно, отредактируйте разрешения в свойствах папки.
  2. Проверьте, что вы используете правильные имя пользователя и пароль для доступа к сетевой папки. Если имя и пароль не запрашиваются, попробуйте удалить сохраненные пароли для доступа к сетевой папке в диспетчере учетных записей Windows. Выполните команду
    rundll32.exe keymgr.dll, KRShowKeyMgr
    и удалите сохраненные учетные данные для доступа к сетевой папке.очистити сохраненные пароли для доступа к сетевым папкам
    При следующем подключении к сетевой папки появится запрос имени и пароля. Укажите имя пользователя для доступа к папке. Можете сохранить его в Credential Manager или добавить вручную.

Дополнительные способы проверки доступа к сетевой папке в Windows

В этом разделе указаны дополнительные способы диагностики при проблема с открытием сетевые папок в 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

После этого надо перезапустить 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 при копировании материала ссылка на источник обязательна .

  • Windows не отвечает безопасный режим
  • Windows не может проинициализировать диск
  • Windows не может получить доступ к сетевой папке samba
  • Windows не может получить общий доступ
  • Windows не может получить доступ к сетевой папке 0x80004005