Не работает шара на windows 10

Обновлено: 06.07.2024

Вы, наверное, не раз сталкивались с проблемой, что 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. Например:

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

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

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

sudo apt install avahi-daemon avahi-utils

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

sudo systemctl enable avahi-daemon

sudo systemctl start avahi-daemon

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

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

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

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

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

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

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

sudo make install

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

sudo systemctl daemon-reload

sudo systemctl enable --now wsdd2

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

Настройка Windows

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

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


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


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


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

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

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


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


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


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

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

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

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

sudo apt install samba

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


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

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

sudo vi /etc/samba/smb.conf


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

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

client max protocol = NT1


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

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

name resolve order = bcast lmhosts host wins


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

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


Затем найдите в /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

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

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

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

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

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

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


Выводы

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

Нет похожих записей


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

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

Немного подробнее как выглядит проблема. Пытаюсь с удаленного компьютера обратится к встроенным административным ресурсам компьютера Windows 10, состоящего в рабочей группе (при отключенном фаерволе) таким образом:

  • \\win10_pc\C$
  • \\win10_pc\D$
  • \\win10_pc\IPC$
  • \\win10_pc\Admin$

В окно авторизации ввожу имя и пароль учетной записи, состоящей в группе локальных администраторов Windows 10, на что появляется ошибка доступа (Access is denied). При этом доступ к общим сетевым каталогам и принтерам на Windows 10 работает нормально. Доступ под встроенной учетной записью administrator к административным ресурсам при этом тоже работает. Если же этот компьютер включить в домен Active Directory, то под доменными аккаунтами с правами администратора доступ к админским шарам также не блокируется.

Windows10 не работает удаленный доступ к административным шарам

Дело в еще одном аспекте политики безопасности, появившемся в UAC – так называемом Remote UAC (контроль учетных записей для удаленных подключений), который фильтрует токены доступа локальных записей и аккаунтов Microsoft, блокируя удаленный административный доступ таким учеткам. При доступе под доменным аккаунтом такое ограничение не налагается.

Отключить Remote UAC можно путем создания в системном реестре параметра LocalAccountTokenFilterPolicy

Совет. Эта операция несколько снижает уровень безопасности системы.

LocalAccountTokenFilterPolicy

  1. Откройте редактор реестра (regedit.exe)
  2. Перейдите в ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  3. Создайте новый параметр типа DWORD (32-bit) с именем LocalAccountTokenFilterPolicy
  4. Установите значение параметра LocalAccountTokenFilterPolicy равным 1
  5. Для применения изменений потребуется перезагрузить компьютер

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

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f

win10 подключение к c$

Примечание. Станет доступен и другой функционал удаленного управления Windows 10, в том числе теперь можно удаленно подключиться к компьютеру с помощью оснастки Computer Management (Управления компьютером).

Итак, мы разобрались как с помощью параметра LocalAccountTokenFilterPolicy разрешить удаленный доступ к скрытым админ-ресурсам для всех локальных администраторов компьютера Windows. Данная инструкция применима также к Windows 8.x, 7 и Vista.

При обращении к сетевому ресурсу по имени \\server выходила ошибка 0x80004005, имя разрешается, то есть определяется ip-адрес, хост пингуется, нет доступа к компьютерам ниже Windows 10. Решение было достаточно простым, но до этого перебрал несколько других вариантов, не помогло. Этот способ помог.

Если не заходит из Windows 10 на шару под Windows XP или под Windows Server 2003 решение такое:

Включить протокол SMB 1.0, который не установлен (по умолчанию) в Windows 10.

Открываем панель «Программы и компоненты»
В открывшемся окне жмём на «Включение или отключение компонентов Windows»
Там ставим галочки на пунктах «Клиент SMB 1.0/CIFS» и «Сервер SMB 1.0/CIFS»

Вы, наверное, не раз сталкивались с проблемой, что 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. Например:

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

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

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

sudo apt install avahi-daemon avahi-utils

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

sudo systemctl enable avahi-daemon

sudo systemctl start avahi-daemon

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

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

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

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

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

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

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

sudo make install

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

sudo systemctl daemon-reload

sudo systemctl enable --now wsdd2

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

Настройка Windows

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

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


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


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


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

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

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


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


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


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

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

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

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

sudo apt install samba

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


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

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

sudo vi /etc/samba/smb.conf


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

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

client max protocol = NT1


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

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

name resolve order = bcast lmhosts host wins


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

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


Затем найдите в /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

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

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

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

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

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

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


Выводы

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

Нет похожих записей


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

нет доступа к сетевой папке windows 10

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

Решаем проблему с доступом к сетевым папкам в Windows 10

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

Кроме всего, советуем убедиться в том, что настройка «Сервер» находится в рабочем состоянии. Ее проверка и настройка выполняется так:

    Откройте меню «Пуск» и перейдите в раздел «Параметры».

Перейти к меню Параметры в операционной системе Windows 10

Перейти к администрированию в операционной системе Windows 10

Перейти к службам через администрирование в Windows 10

Открыть свойства службы Сервер в Windows 10

Настроить службу Сервер в операционной системе Windows 10

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

Способ 1: Предоставление доступа

Не все папки по умолчанию открыты всем участникам локальной сети, некоторые из них просматривать и редактировать могут только системные администраторы. Исправляется эта ситуация буквально в несколько кликов.

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

    На необходимой папке нажмите правой кнопкой мыши и выберите строку «Предоставить доступ к».

Предоставить доступ для сетевой папки в операционной системе Windows 10

Выбрать пользователя для предоставления доступа в Windows 10

Выбрать уровень разрешения для пользователя в Windows 10

Применить изменения доступа в операционной системе Windows 10

Закрыть окно предоставления доступа в Windows 10

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

Способ 2: Настройка Служб компонентов

Оснастка «Службы компонентов» в большинстве своем используется сетевыми администраторами для работы с определенными приложениями. В случае с ограничением сетевых папок также может потребоваться редактирование некоторых параметров в этом приложении, а осуществляется это так:

    Откройте меню «Пуск» и через поиск отыщите классическое приложение «Службы компонентов».

Открыть службы компонентов через пуск в Windows 10

Перейти к настройке компьютера в службах компонентов Windows 10

Настроить компьютер в службах компонентов Windows 10

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

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

Закрыть

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

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Читайте также: