Smbclient для windows 10

Включение SMBv1 в Windows 10

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

Способ 1: Включение компонента Windows

В Windows 10 существует отдельный модуль, позволяющий подключать различные компоненты. С его помощью активировать SMBv1 будет проще всего, а выглядит процесс так:

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

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

Через левую панель вызовите окно «Включение или отключение компонентов Windows».

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

Способ 2: Команда для PowerShell

Если вы не боитесь взаимодействовать с оболочкой PowerShell, активировать SMBv1 можно через нее, вставив всего одну команду.

    Щелкните правой кнопкой мыши по меню «Пуск» и выберите «Windows PowerShell (администратор)».

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

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

Далее в PowerShell отобразится информация о том, что SMBv1 была успешно активирована и находится в рабочем состоянии.

Дополнительно отметим две другие команды для PowerShell, которые могут пригодиться при дальнейшей работе с рассматриваемым компонентом в Windows:

  • Get-WindowsFeature FS-SMB1 — позволяет узнать, в каком состоянии сейчас находится SMBv1.
  • Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol — отключает работу компонента.

Способ 3: Управление групповой политикой

Отметим, что этот вариант подойдет только владельцам доменов, которые хотят настроить SMBv1 на всех локальных компьютерах. Рядовым пользователям мы не советуем задействовать этот вариант — им лучше остановиться на двух предыдущих.

    Для начала придется добавить средство управления групповыми политиками в ОС. Для этого откройте «Пуск» и перейдите в «Параметры».

Откройте раздел «Приложения».

В первой же категории вас интересует кликабельная надпись «Дополнительные возможности».

Нажмите «Добавить компонент», чтобы перейти к его выбору.

В списке отыщите «RSAT: средства управления групповыми политиками» и запустите установку.

Вернитесь в предыдущее меню и отслеживайте прогресс инсталляции.

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

Войдите в операционную систему под именем владельца домена, откройте утилиту «Выполнить» через Win + R и пропишите gpmc.msc , нажав затем на клавишу Enter.

Ожидайте загрузки управления групповой политикой.

Там откройте главный раздел «Управление групповой политики» и найдите реестр.

Остается только заполнить сведения реестра в соответствии с приведенным далее списком

  • Действие: Создать
  • Куст: HKEY_LOCAL_MACHINE
  • Путь раздела: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Имя параметра: SMB1
  • Тип параметра: REG_DWORD
  • Значение: 1

Остается только сохранить изменения для реестра и перезапустить компьютер, чтобы они вступили в силу. Если захотите в будущем отключить параметр, измените его значение на «0».

Samba Client and Windows 10 Home — «NT_STATUS_LOGON_FAILURE»/»Access denied»

Replies (15) 

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.

My name is Andre Da Costa; an Independent Consultant, Windows Insider MVP and Windows & Devices for IT MVP. I’m here to help you with your problem.

Press Windows key + R
Type: optionalfeatures.exe
Hit Enter

Scroll down to SMB 1.0/CIFS File Sharing Support
Tick the SMB 1.0/CIFS Client
Untick SMB 1.0/CIFS Automatic Removal and
Untick SMB 1.0/CIFS Server

Click OK
Restart if prompted.

Press the Windows Key and R at the same time to bring up the Run dialog.
Type services.msc in the Run dialog and press Enter.
For each of the following services, locate the service in list, right-click the service and select Properties. Then set the Startup type to Automatic (Delayed Start) and select Apply.
Computer Browser (Browser)
Function Discovery Provider Host (FDPHost)
Function Discovery Resource Publication (FDResPub)
Network Connections (NetMan)
UPnP Device Host (UPnPHost)
Peer Name Resolution Protocol (PNRPSvc)
Peer Networking Grouping (P2PSvc)
Peer Networking Identity Manager (P2PIMSvc)
Restart Windows.

2 people found this reply helpful

Was this reply helpful?

Sorry this didn’t help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

Windows 10 не видит компьютеры в сети и общие папки. Почему и что делать?

Самая популярная проблема при настройке локальной сети – когда компьютер не видит другие компьютеры, общие папки, сетевые накопители и т. д. Эта проблема чаще всего решается настройкой общего доступа и отключением антивируса (брандмауэра), но не всегда. В этой статье я хочу рассказать о нескольких решениях данной проблемы в Windows 10, которые я уже не раз применял на практике. Если у вас компьютер с установленной Windows 10 не видит компьютеры и папки в локальной сети, то первым делом нужно проверить, включена ли поддержка SMB1, так как после одного из обновлений этот протокол отключили. Как бы для безопасности. И это основная причина, по которой на вкладке «Сеть» в проводнике а не появляются сетевые устройства. Как правило, это более старые устройства, которые используют этот самый протокол SMB1, который в десятке отключен.

Читайте также:  Как сделать 64 бит систему windows 10

Открываем мы значит вкладку «Сеть» в проводнике Windows 10, где должны отображаться все сетевые устройства. Но видим там в лучшем случае свой Wi-Fi роутер, свой компьютер и может еще какие-то устройства мультимедиа. Другие компьютеры в локальной сети и сетевые папки не отображаются. А с других компьютеров они обычно видны и можно на них зайти. В том числе на этот компьютер с установленной Windows 10.

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

Отдельно хочу рассказать об общем доступе к USB-накопителям через роутер. Если вы подключили к роутеру в USB-порт флешку, или внешний жесткий диск и Windows 10 не видит сетевой накопитель на вкладке «Сеть», то проблема так же может быть в отключенном протоколе SMB1. Так как роутер использует этот протокол для общего доступа к накопителю (сетевой папке).

Включаем поддержку протокола SMB1 в Windows 10

Откройте Пуск (или нажмите на кнопку поиска) и введите «компонентов». Откройте «Включение или отключение компонентов Windows». Или можно открыть это окно через «Панель управления» – «Программы и компоненты» и слева переходим в «Включение или отключение компонентов Windows».

Открываем пункт «Поддержка общего доступа к файлам SMB 1.0/CIFS». Нужно поставить галочку возле «Клиент SMB 1.0/CIFS» и нажать «Ok».

Поддержка старого протокола SMB 1.0 в Windows 10 включена. Теперь система должна видеть все сетевые папки, доступ к которым осуществляется через SMB 1. Можете еще выполнить перезагрузку компьютера.

Проверка параметров общего доступа в Windows 10

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

В Windows 10 (версия 1803) домашняя группа была удалена. Достаточно просто настроить общий доступ к принтерам и файлам.

Открываем меню «Пуск» (или нажав на кнопку поиска) и пишем «общего доступа». Открываем «Управление расширенными параметрами общего доступа».

Или можно открыть это окно в параметрах «Сеть и Интернет» – «Параметры общего доступа».

Дальше для текущего профиля (скорее всего это будет частная сеть) установите переключатель возле «Включить сетевое обнаружение» и «Включить общий доступ к файлам и принтерам». А так же поставьте галочку возле «Включить автоматическую настройку на сетевых устройствах».

Нажмите на кнопку «Сохранить изменения».

Если это не поможет – попробуйте установить такие настройки для вкладки «Все сети».

Но не рекомендую составлять такие настройки, особенно если вы часто подключаетесь к общественным Wi-Fi сетям.

Еще несколько решений:

  • Убедитесь, что ваш компьютер и другие компьютеры с которыми вы хотите настроить локальную сеть подключены через один роутер.
  • Отключите антивирус (встроенный в нем брандмауэр) и защитник Windows. Если это не решит проблему – включите обратно.
  • Если ваш компьютер с Windows 10 (который не видит общие папки и компьютеры в локальной сети) подключен к роутеру по Wi-Fi, то присвойте этой беспроводной сети статус частной (домашней).
  • Убедитесь, что на других компьютерах в локальной сети правильно заданы настройки общего доступа. Или на роутере настроен общий доступ к подключенному USB-накопителю.

Буду рад видеть ваши комментарии с другими решениями и вопросами по теме данной статьи!

Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.

Доброго времени читатели и гости блога www.k-max.name. Сегодняшнюю статью хочу посвятить изучению пакета SAMBA и основ совместного использования разделяемых ресурсов в гетерогенных сетях Linux и Windows. Кроме сетевых протоколов Microsoft, используемых в samba, существуют так же протоколы NFS и NIS, разработанные Sun, которые так же поддерживаются продуктами Microsoft, но не получившие у последних большого распространения и удобны в использовании в сетях Linux и UNIX. Начнем с небольшой теории.

Основы взаимодействия Windows и Linux (протоколы и другие особенности)

В Linux для организации доступа к удаленной системе достаточно знать лишь IP адрес. Вместе с системой DNS, IP адресация представляет собой вполне законченный механизм взаимодействия между системами Linux. В Windows сложилась другая ситуация. Изначально, сети Windows находились в совершенно другом пространстве имен, это было следствием попытки организовать взаимодействие без участия протокола TCP/IP. Для чего был разработан родной для Windows протокол NetBEUI (Network Basic Extended Interfaceосновной расширенный сетевой пользовательский интерфейс). Не углубляясь в принципы сетевого взаимодействия можно сказать, что NetBEUI состоит из протокола SMB, транспортируемого по протоколу NetBIOS и обернутого в адресуемый протокол LLC, который является подуровнем канального уpовня. Из сказанной каши можно с трудом понять, что NetBEUI не принадлежит какому-либо из уровней модели OSI. В итоге, данный протокол получился не маршрутизируемым и малоэффективным.Через некоторое время, на основе NetBEUI был разработан протокол NetBIOS Frame (NBF) protocol (NetBIOS over IEEE 802.2 LLC). Следующим шагом была реализация NBT (NetBIOS over TCP/IP) .

Протокол NetBIOS (точнее SMB) обладает своим собственным пространством имен. Все имена могут иметь длину до 16 алфавитно-цифровых символов. При этом, использовать имена, начинающиеся с цифры не приемлемо для реализации протокола NetBIOS over TCP/IP, т.к. данное имя будет интерпретироваться как IP-адрес. В NetBIOS существует понятие Рабочая группа (в последствии замененное понятием домен). Компьютеры, имеющие одинаковое имя рабочей группы принадлежат одной группе.

Читайте также:  Canoscan lide 100 driver windows 10 64 bit

NetBIOS over TCP/IP использует два основных протокола и два порта 139/tcp (порт службы сеанса NetBIOS) и 137/udp (порт сервера имен NetBIOS). Порт UDP используется для разрешения имен на основе широковещательных рассылок, что в большой сети порождает большой трафик. Чтобы уменьшить большой широковещательный трафик, необходимо использовать сервер имен NetBIOS (в Microsoft данный сервер получил название WINS — Windows Internet Naming Service). WINS для NetBIOS over TCP/IP это как DNS для TCP/IP.

С появлением Win2k и Active Directory, Microsoft полностью отказалась от NetBIOS. Вместо NetBIOS стал использоваться SMB через TCP/IP (без использования протокола NetBIOS, его же называют NetBIOS-less). Данный протокол позволял отказаться от WINS и резолвить имена с помощью DNS, используя связку системы безопасности Kerberos и службу каталогов Active Directory. Active Directory — это LDAP каталог (аналог OpenLDAP), которому я обязательно посвящу статью.

Чтобы SAMBA работала без поддкржки NetBIOS, необходимо, чтобы система была членом домена Active Directory. Если система НЕ член домена, то отключать поддержку NetBIOS не стоит!

Собственно, протокол SMB и дал начало названия проекта Samba. Через некоторое время SMB был переименован в CIFS (Common Internet File System). Samba версии 2 может использоваться только совместно с протоколом NetBT (NetBIOS over TCP/IP). Версия Samba 3 способна обеспечивать совместимость по протоколу SMB через TCP/IP (NetBIOS-less TCP/IP) и совместима с Active Directory. При использовании SMB через TCP/IP используется порт 445/tcp, а так же 135/tcp для обеспечения взаимодействия по протоколу DCE RPC (удаленные вызовы процедур).

При установке и настройке Samba (без членства в домене Active Directory) желательно использовать демон Samba как сервер WINS или как член сервера WINS для снижения нагрузки мультикаст трафика в сети.

Исходные данные (подготовка хостов для осуществления общего доступа)

Сначала я опишу возможность организации доступа к ресурсам на Windows (Сервер) со стороны Linux (Клиент). Для организации данного взаимодействия нам необходимо наличие соединения по протоколу TCP/IP между хостами (то есть присвоен корректный IP, заданы правильные маски, в каждой системе должен быть корректный файл hosts и правильно настроена служба ДНС, если таковая используется), а так же наличие расшаренного ресурса в системе Windows. В примере, машина Windows будет иметь IP 192.168.2.1 и имя host, Linux — 192.168.2.2 и имя samba. Рабочую группу будем использовать WORKGROUP. Ресурс в общем доступе будет называться share.

Пакет Samba для своей работы требует наличия модулей ядра и инструментов для доступа к удаленной системе. Прежде всего, должна быть поддержка файловых систем smbfs и cifs ядром Linux. Старые версии ядра — ниже 2.6.х может не поддерживать cifs в начальной комплектации компиляции. Хотя, по поводу поддержки smbfs в современных дистрибутивах можно поспорить, т.к. данный модуль устарел и не поддерживает символы кириллицы и . ну в общем я его рассматривать не буду ввиду устаревания. Для включения поддержки cifs в старые ядра 2.4 необходимо ознакомиться с документацией на сайте: http://linux-cifs.samba.org/. Новые версии ядра Linux 2.6 в большинстве дистрибутивов имеют встроенную поддержу cifs (если, конечно, ядро не самосборное). Убедиться в поддержке ядром — cifs можно, выполнив команду grep над файлом текущей конфигурации ядра:

Посмотрев на вышеприведенный код, хорошо видно, что текущее ядро не поддерживает SMB_FS (нам оно в принципе и не нужно), а вот cifs поддерживается в виде модуля (что, собственно, нас так же устраивает). Если в Вашем ядре нет поддержки CIFS, то необходимо будет его пересобрать с необходимым параметром. О том как это сделать, я описывал в статьях Ядро Linux (получение информации и управление) и Управление ядром Linux (сборка, компилирование, конфигурирование). Итак, мы убедились, что наше ядро поддерживает нужную файловую систему. Теперь нам необходимо установить саму SAMBA и кое-какие инструменты. Выбор того, каким способом устанавливать ПО в Linux оставляю Вам. Скажу лишь, что при установке из исходных текстов, получив их (исходники) с samba.org можно получить более новую версию, нежели при установке в бинарном виде из репозитория, в котором скорее всего будет более старая и проверенная версия. Я пошел по пути наименьшего сопротивления и установил SAMBA через пакетный менеджер (apt-get install samba). Так же, необходимо установить пакет smb-fs (без данного пакета я столкнулся с ошибкой CIFS VFS: cifs_mount failed w/return code = -22).

Мы начнем с самого простого примера и предположим, что DNS для разрешения имен не используется и машины имеют статичные IP-адреса. Поэтому нам необходимо в /etc/hosts добавить следующую строку:

Утилитой ping мы проверили возможность разрешения имени и связь с удаленным хостом Windows. И как можно понять — все работает.

Организация доступа к Windows с помощью клиента smbclient

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

Из листинга видно, как мы с помощью smbclient и параметра -L запросили список доступных ресурсов на машине host от имени анонимного пользователя (параметр -U%). В ответ Windows нам сказал, что Error returning browse list: NT_STATUS_ACCESS_DENIED, то есть анонимный доступ запрещен. Далее, мы попробовали подключиться к машине от имени пользователя Администратор с паролем 12345, который зарегистрирован в системе. Мы получили ответ со списком расшаренных ресурсов. Это не может не радовать. Давайте попробуем подключиться к шаре share:

Читайте также:  Самые первые дистрибутивы линукс

Итак, в приведенном листинге нам удалось подключиться к шаре \\host\share от пользователя Администратор с паролем 12345. Мы получили содержимое каталога (причем русские символы прекрасно отображаются), перешли в подкаталог ime, получили его содержимое и получили на локальную машину файл SPTIP.dll, командой get (команда как и у FTP клиента). Вы, наверно, заметили, что в утилите smbclient путь к шаре указывается с прямым слешем, хотя в Windows принято задавать путь с обратным слешем. Утилита smbclient довольно гибка и используется как часть утилиты smbprint, для передачи потока данных, отправленных на принтер.

Организация доступа к Windows с помощью модулей ядра smbfs и cifsfs

Драйвер файловой системы smbfs по своему поведению напоминает утилиту smbclient. Он выполняет аутентификацию на основе предоставленного имени и пароля и устанавливает соединение с сервером SMB/CIFS, после этого подключает соединение с сервером SMB/CIFS к точке монтирования файловой системы. Права владения точкой монтирования устанавливаются в соответствии с пользователем и группой Linux, установившей соединение, а права доступа к файлам в точке монтирования устанавливаются на основании umask пользователя, установившего соединение.

Фактически, управление доступом ко всем файлам и каталогам переходит под управление Linux, а на сервере SMB/CIFS все обращения будут рассматриваться как операции, выполненные единственным пользователем. То есть все пользователи, работающие с файлами сервера в точке монтирования будут рассматриваться сервером SMB как единственный пользователь.

Драйвер SMBFS имеет существенное ограничение — не поддерживает Unicode, что может приводить к проблемам, если имена файлов или каталогов содержат символы НЕ английского алфавита. Данный драйвер стоит использовать только в крайних случаях, например когда не удалось завести cifs. Давайте проведем несколько практических действий с расшаренным каталогом:

Из примера можно увидеть, что мы зашли под пользователем mc-sim и посмотрели на его umask, который равен 0022, что соответствует правам доступа 755, то есть rwxr-xr-x, что мы далее и увидим. Далее, закрываем сессию пользователя и оказываемся в оболочке текущего пользователя и пытаемся подключить подмонтировать сетевой каталог от имени пользователя, umask которого узнали выше (т.е. — mc-sim). Думаю, что формат команды mount вам ясен из моей статьи о основных командах Linux, но все же опишу указанные параметры: -t smbfs указывает нам использовать тип файловой системы — SMBFS, далее указываем путь к шаре в виде: //хост/шара, далее точка монтирования в формате /точка/монтирования, далее параметры монтирования (после ключа -o) — имя пользователя и пароль на удаленной системе (username и password соответственно) с правами которого будет происходить обращение к удаленным каталогам, далее UID и GID локальных пользователей, права которых будут учитываться при чтении/записи в примонтированный каталог. После монтирования удаленного каталога, мы можем спокойно обращаться к файлам на удаленном хосте, как к локальным и производить все доступные операции с файлами, как с локальной файловой системой. В том числе, копирование/удаление/перемещение, естественно, учитывая права локального и удаленного пользователей.

Хочется так же отметить, что запуская mount -t smbfs, фактически мы запускаем команду /usr/bin/smbmount, которая является символьной ссылкой на /sbin/mount.smbfs. smbmount считывает параметры из конфигурационного файла smb.conf (обычно находится или в /etc/smb.conf или /etc/samba/smb.conf). Формат выполнения команды smbmount совпадает с mount -t smbfs. Для корректной работы SAMBA в виде подключающегося клиента, минимально достаточно файла со следующим содержимым:

Давайте рассмотрим более сложный пример монтирования расшаренного каталога:

В данном примере команда очень похожа на приведенную чуть выше, за исключением, нескольких дополнительных передаваемых параметров. Первое — это credentials=/etc/samba/pw — позволяет указать файл с идентификационными данными для подключения к удаленному ресурсу. Содержимое данного файла так же указано в примере. Другие два новых параметра — это указание маски прав доступа для файлов и директорий, соответственно, которые складываются с системной umask и применяются к содержимому в директории.

Давайте теперь поговорим о cifs. Формат команды с применением модуля cifsfs точно такой же, как и smbfs, за исключением того, что параметр smbfs заменяется на cifs, а имя пользователя указывается не username, а просто user. Итого, команда выглядит как: mount -t cifs //host/share /mnt -o user=User,password=,uid=mc-sim,gid=mc-sim. Так же стоит обратить внимание, что fmask и dmask считается устаревшим параметром и заменен на file_mode и dir_mode соответственно. Ну и команда, при использовании модуля cifsfs запускается не /sbin/mount.smbfs, а /sbin/mount.cifs

Чтобы монтировать SMB/CIFS — ресурсы автоматически при загрузке, необходимо проверить работоспособность монтирования с помощью вышеуказанных команд с необходимыми параметрами. Если тесты прошли удачно, то необходимо добавить строку в файл /etc/fstab примерно следующего содержания:

, где //хост/расшаренный_ресурс — UNC-путь к расшаренному ресурсу, /каталог/монтирования — точка монтирования (естественно, она должна существовать), файловая_система — указание файловой системы (на текущий момент, считаю, что актуальна только cifs), опции_монтирования — строка опций, которая передавалась команде mount -t cifs, после ключа -o.

Резюме

На этом, на сегодня закончу. В следующей части повествования о SAMBA расскажу о взаимодействии Windows как клиента и Linux в виде файлового сервера SAMBA. Подведу маленький итог всему вышенаписанному. В сегодняшней статье я постарался рассказать об основах взаимодействия гетерогенных сетей Linux и Windows, немного рассказал об истории появления протоколов NetBIOS и взаимодействие хостов в сети TCP/IP по данному протоколу. Постарался изложить принципы взаимодействия между Linux и Windows и показал на практике, как взаимодействуют указанные системы. А так же описал, каким образом подключиться к расшаренным ресурсам Windows из Linux и заставить ОС Linux монтировать сетевые каталоги Windows при загрузке. Всем спасибо за внимание. Жду комментариев и дополнений!

Оцените статью