Проблемы с подключением к общему ресурсу Samba из Windows 10

Вопрос или проблема

У меня есть машина с Windows 10 (последнее обновление на 2016-10-10), которая совершенно отказывается получать доступ к общему ресурсу Samba на сервере Linux (Raspbian – производная Debian), без предварительного ввода учетных данных в Windows.

Клиент Windows 10

IP-адрес: 10.0.0.184

Не в домене.

Сервер Raspbian (Debian) Samba:

IP-адрес: 10.0.0.2

Не в домене.

smb.conf:

[global]

workgroup = WORKGROUP
server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d

security = share

passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes

passwd program = /usr/bin/passwd %u
passwd chat = *Введите\sновый\s*\пароль:* %n\n *Повторите\sновый\s*\пароль:* %n\n *пароль\sуспешно\sобновлён* .

pam password change = yes
map to guest = bad user

[public]
  path = /home/public
  available = yes
  read only = no
  browsable = yes
  public = yes
  writable = yes
  guest ok = yes

Это должно быть почти на 100% просто и понятно, верно?

Сценарий:

С машины с Windows 10 я пытаюсь получить доступ к серверу Samba:

\\10.0.0.2

Я получаю следующее сообщение об ошибке:

\\10.0.0.2 недоступен. У вас могут не быть прав для использования этого сетевого ресурса. Обратитесь к администратору этого сервера, чтобы узнать, есть ли у вас права доступа.

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

Совершенно бредово и совершенно абсурдно.

Лог Samba говорит:

[2016/10/14 19:10:55.209107,  0] smbd/service.c:995(make_connection_snum)
Не удается стать подключенным пользователем!

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

Интернет или сетевой адрес: 10.0.0.2

Имя пользователя: pi

Пароль: [правильный пароль]

Теперь, когда я пытаюсь получить доступ к серверу Samba с помощью \10.0.0.2, открывается окно проводника с видимой папкой “public”, как указано в конфигурационном файле smb.conf.

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

Тем не менее, это полностью противоречит самой сути публичного ресурса, поскольку мне необходимо ввести действительные учетные данные в Диспетчер учетных данных, чтобы это работало. Если учетных данных нет, то не только ресурс не работает, но и Windows даже не может ПОДКЛЮЧИТЬСЯ к серверу.

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

Поскольку мне нравится мучить себя и тратить часы своей жизни, я удалил и очистил Samba, перезагрузил (да, знаю), и снова его установил. Затем я удалил все ресурсы из файла по умолчанию и добавил только это:

[share_name]
    browsable = yes
    path = /home/public
    guest ok = yes
    read only = no
    create mask = 777

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

\\10.0.0.2 недоступен. У вас могут не быть прав для использования этого сетевого ресурса. Обратитесь к администратору этого сервера, чтобы узнать, есть ли у вас права доступа.

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

Вот что говорит файл log.smbd:

[2016/10/14 21:06:27.956914,  0] lib/util_sock.c:605(open_socket_in)
  open_socket_in(): ошибка вызова socket(): Семейство адресов не поддерживается протоколом
[2016/10/14 21:06:27.958765,  0] smbd/server.c:578(smbd_open_one_socket)
  smbd_open_once_socket: open_socket_in: Семейство адресов не поддерживается протоколом
[2016/10/14 21:06:27.997747,  0] printing/print_cups.c:110(cups_connect)
  Не удалось подключиться к серверу CUPS localhost:631 - Подключение отклонено
[2016/10/14 21:06:28.011317,  0] lib/util_sock.c:605(open_socket_in)
  open_socket_in(): ошибка вызова socket(): Семейство адресов не поддерживается протоколом
[2016/10/14 21:06:28.012127,  0] smbd/server.c:578(smbd_open_one_socket)
  smbd_open_once_socket: open_socket_in: Семейство адресов не поддерживается протоколом
[2016/10/14 21:06:28.015107,  0]     printing/print_cups.c:487(cups_async_callback)
  не удалось получить список принтеров: NT_STATUS_UNSUCCESSFUL

Я знаю, что Samba используется во многих профессиональных бизнес-организациях. Как же они заставляют это работать? Эти ошибки совершенно нелепы и не подвластны разуму!

Клиент Windows 10 требует дополнительных вызовов, которые должен обрабатывать сервер SMB. Я не знаю, поддерживает ли Samba их. Несколько других серверов SMB поддерживают Windows 10 и Windows 2016.

Ответ или решение

Проблемы подключения к общему ресурсу Samba из Windows 10

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

1. Контекст проблемы

Предположим, у вас есть клиентская машина на базе Windows 10 (IP-адрес: 10.0.0.184), которая не может получить доступ к общему ресурсу Samba на сервере с Linux (Raspbian, IP-адрес: 10.0.0.2). Несмотря на то, что конфигурация Samba выглядит корректной, клиенту необходимо вводить учетные данные для доступа к публичной папке.

2. Анализ конфигурации Samba

Давайте взглянем на конфигурацию Samba, представленную в файле smb.conf:

[global]
   workgroup = WORKGROUP
   security = share
   map to guest = bad user

[public]
   path = /home/public
   browsable = yes
   guest ok = yes
   writable = yes
  • Параметр security = share указывает, что доступ к ресурсам осуществляется на основе прав доступа к папкам Samba, а не на основе пользовательских учетных записей.
  • Параметр guest ok = yes позволяет гостевым пользователям (без аутентификации) получить доступ к папке public.

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

3. Решения

3.1. Настройки Windows
  1. Изменение параметров сети: Убедитесь, что сетевой профиль Windows установлен в "Частная сеть". Это позволит Windows 10 лучше взаимодействовать с местными сетями и выделенными ресурсами SMB.

  2. Изменение параметров общего доступа: Перейдите в Панель управления -> Центр управления сетями и общим доступом -> Изменить дополнительные параметры общего доступа и убедитесь, что параметры для "Общедоступной папки" и "Общего доступа с паролем" находятся в правильном состоянии (например, отключите доступ с паролем для тестирования).

  3. Включение SMB 1.0/CIFS: В некоторых случаях для совместимости с Samba может понадобиться включить поддержку SMB 1.0. Перейдите в Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows и активируйте соответствующий флажок.

3.2. Конфигурация Samba
  1. Проверка версий Samba: Убедитесь, что используется последняя версия Samba, которая поддерживает более современные протоколы SMB (например, SMB 2.0 и выше).

  2. Добавление настроек для совместимости с Windows 10: В секцию [global] добавьте следующие строки:

    server min protocol = NT1
    server max protocol = SMB3

    Эти параметры позволят серверу Samba обслуживать соединения по SMB1 и SMB3, что улучшит совместимость с Windows 10.

  3. Проверка прав доступа к папке: Убедитесь, что у пользователя pi и у группы, к которой он принадлежит, есть соответствующие права на уровне файловой системы к папке /home/public.

3.3. Логи и отладка

Обратите внимание на логи Samba. Ошибки, такие как "Can’t become connected user" и "Address family not supported by protocol", могут указывать на проблемы с настройками. Убедитесь, что Samba настроена на использование соответствующих сетевых протоколов и что нет конфликтующих правил firewall.

4. Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...