Как работает SAMBA?

21 апреля, 2011 Рубрики: Linux, SAMBA, Настройка сервера Linux, основы Linux

samba настройкаДоброго времени читатели и гости блога 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 существует понятие Рабочая группа (в последствии замененное понятием домен). Компьютеры, имеющие одинаковое имя рабочей группы принадлежат одной группе.

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 над  файлом текущей конфигурации ядра:

samba:~# grep CONFIG_SMB_FS /boot/config-2.6.32-5-686
# CONFIG_SMB_FS is not set
samba:~# grep CONFIG_CIFS /boot/config-2.6.32-5-686
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_EXPERIMENTAL=y

Посмотрев на вышеприведенный код, хорошо видно, что текущее ядро не поддерживает 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 добавить следующую строку:

samba:~# cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       samba
192.168.2.1     host
samba:~# ping host
PING host (192.168.2.1) 56(84) bytes of data.
64 bytes from host (192.168.2.1): icmp_req=1 ttl=128 time=2.46 ms
64 bytes from host (192.168.2.1): icmp_req=2 ttl=128 time=0.322 ms
^C
--- host ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.322/1.394/2.467/1.073 ms

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

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

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

samba:~# smbclient -L host -U%
Domain=[WORKGROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

 Sharename       Type      Comment
 ---------       ----      -------
Error returning browse list: NT_STATUS_ACCESS_DENIED
Domain=[WORKGROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

 Server               Comment
 ---------            -------
 HOST

 Workgroup            Master
 ---------            -------
 WORKGROUP            HOST
samba:~# smbclient -L host -UАдминистратор%12345
Domain=[HOST] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

 Sharename       Type      Comment
 ---------       ----      -------
 IPC$            IPC       Удаленный IPC
 print$          Disk      Драйверы принтеров
 SharedDocs      Disk
 PrinterHP3005   Printer   HP3005
 share           Disk
 ADMIN$          Disk      Удаленный Admin
 share_ware      Disk
 C$              Disk      Стандартный общий ресурс
Domain=[HOST] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

 Server               Comment
 ---------            -------

 Workgroup            Master
 ---------            -------

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

samba:~# cd smb/
samba:~/smb# smbclient //host/share -UАдминистратор%12345
Domain=[HOST] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> dir
 .                                   D        0  Fri Mar 18 17:36:56 2011
 ..                                  D        0  Fri Mar 18 17:36:56 2011
 ime                                 D        0  Fri Mar 18 17:36:43 2011
 Мои рисунки              DR        0  Fri Mar 18 17:36:56 2011
 Моя музыка                DR        0  Fri Mar 18 17:36:56 2011

 40915 blocks of size 262144. 24388 blocks available
smb: \> cd ime
smb: \ime\> dir
 .                                   D        0  Fri Mar 18 17:36:43 2011
 ..                                  D        0  Fri Mar 18 17:36:43 2011
 chsime                              D        0  Fri Mar 18 17:36:43 2011
 CHTIME                              D        0  Fri Mar 18 17:36:43 2011
 imejp                               D        0  Fri Mar 18 17:36:43 2011
 imejp98                             D        0  Fri Mar 18 17:36:43 2011
 imjp8_1                             D        0  Fri Mar 18 17:36:43 2011
 imkr6_1                             D        0  Fri Mar 18 17:36:43 2011
 mscandui.dll                        A   220160  Tue Apr 15 16:00:00 2008
 shared                              D        0  Fri Mar 18 17:36:43 2011
 SOFTKBD.DLL                         A   130048  Tue Apr 15 16:00:00 2008
 SPGRMR.dll                          A    62976  Tue Apr 15 16:00:00 2008
 SPTIP.dll                           A   272384  Tue Apr 15 16:00:00 2008

 40915 blocks of size 262144. 24388 blocks available
smb: \ime\> get SPTIP.dll
getting file \ime\SPTIP.dll of size 272384 as SPTIP.dll (11565,2 KiloBytes/sec) (average 11565,2 KiloBytes/sec)
smb: \ime\> quit
samba:~/smb# ls -l
итого 269
drwxr-xr-x  2 root root   1024 Мар 18 19:00 .
drwxr-xr-x 13 root root   1024 Мар 18 18:50 ..
-rw-r--r--  1 root root 272384 Мар 18 19:00 SPTIP.dll

Итак, в приведенном листинге нам удалось подключиться к шаре \\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. Давайте проведем несколько практических действий с расшаренным каталогом:

samba:~# su mc-sim
mc-sim@samba:/root$ umask
0022
mc-sim@samba:/root$ exit
exit
samba:~/smb# mount -t smbfs //host/share /mnt -o username=Администратор,password=12345,uid=mc-sim,gid=mc-sim
samba:~# df /mnt
Файловая система     1K-блоков      Исп  Доступно  Исп% смонтирована на
//host/share/         10474348   4434212   6040136  43% /mnt
samba:~# ls -la /mnt/
итого 1
drwxr-xr-x  1 mc-sim mc-sim    0 Мар 22 19:46 .
drwxr-xr-x 21 root   root   1024 Фев 27 16:48 ..
drwxr-xr-x  1 mc-sim mc-sim    0 Мар 18 17:36 ime
drwxr-xr-x  1 mc-sim mc-sim    0 Мар 18 17:36 Мои рисунки
drwxr-xr-x  1 mc-sim mc-sim    0 Мар 18 17:36 Моя музыка
samba:/mnt# ls -la /mnt/ime/
итого 676
drwxr-xr-x 1 mc-sim mc-sim      0 Мар 18 17:36 .
drwxr-xr-x 1 mc-sim mc-sim      0 Мар 22 19:43 ..
drwxr-xr-x 0 mc-sim mc-sim      0 Мар 18 17:36 chsime
drwxr-xr-x 0 mc-sim mc-sim      0 Мар 18 17:36 CHTIME
drwxr-xr-x 0 mc-sim mc-sim      0 Мар 18 17:36 imejp
-rwxr-xr-x 1 mc-sim mc-sim 220160 Апр 15  2008 mscandui.dll
...

Из примера можно увидеть, что мы зашли под пользователем 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 в виде подключающегося клиента, минимально достаточно файла со следующим содержимым:

samba:~# cat /etc/samba/smb.conf
[global]
       workgroup = WORKGROUP

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

samba:~# cat /etc/samba/pw
username=Администратор
password=12345
samba:~/smb# mount -t smbfs //host/share /mnt -o credentials=/etc/samba/pw,uid=mc-sim,gid=mc-sim,fmask=600,dmask=700
samba:~# df /mnt
Файловая система     1K-блоков      Исп  Доступно  Исп% смонтирована на
//host/share/         10474348   4434212   6040136  43% /mnt

В данном примере команда очень похожа на приведенную чуть выше, за исключением, нескольких дополнительных передаваемых параметров. Первое – это 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 при загрузке. Всем спасибо за внимание. Жду комментариев и дополнений!

С Уважением, Mc.Sim!




Теги: , , , , , , , ,

21 комментарий к “Как работает SAMBA?”

  1. йука
    27 августа, 2012 at 06:52
    1

    ***Censored***!

    Wondows пишется через i

    • 6 сентября, 2012 at 19:53
      2

      Да, и правда… )))

  2. AlexGreen
    31 октября, 2012 at 11:32
    3

    Спасибо за статью! Отличное изложение материала!

  3. Arismendi
    1 ноября, 2012 at 16:57
    4

    “Вы, наверно, заметили, что в утилите smbclient путь к шаре указывается с обратным слешем, хотя в Windows принято задавать путь с прямым слешем.” – наоборот: в smbclient – прямой, в Windows – обратный.
    Спасибо за информативную статью.

    • 14 ноября, 2012 at 23:07
      5

      Пожалуйста.
      Вам спасибо за замечание.

  4. Krems
    28 декабря, 2012 at 20:30
    6

    Доброго времени суток!
    Читаю блог о Линукс с начала и вот добрался до самбы наконец, спасибо за статьи – очень понятно описаны некоторые нетривиальные вещи:)
    Подскажите, пожалуйста, решение.
    У нас в студгородке есть локальная сеть с кучей самба-серверов. Года 3 назад испытал много боли, пытаясь подключиться к ним из под линукс. Сервера запрашивали логин/пароль. Пустыми оставить нельзя, а если использовать что-то вроде nobody, то через n секунд сервер банит и уже не отвечает даже на запросы на подключение. Сейчас я пытаюсь бродить по локалке с планшета под iOS и возникает та же проблема.
    Интересно то, что, например, через dolphin и url:”smb://host.domen/share” запроса авторизации не происходит, аналогично при использовании на планшете плеера со встроеным самба-клиентом.
    Подскажите, какие логин/пасс использовать или что делать и как с этим жить? :)
    Заранее спасибо.

    • 30 декабря, 2012 at 23:56
      7

      С MacOS не приходилось работать, но могу предположить, что там тоже есть некий smbclient, который имеет свой файл настроек. В данном случае, необходимо выяснить:
      1. какой файл настройки использует smbclient
      2. какого пользователя он по умолчанию подсовывает при подключении анонимно.
      Кроме того, не видя конфиг сервера трудно что-либо говорить…

  5. Николай
    23 июля, 2013 at 12:44
    8

    День добрый!
    Большое спасибо автору!
    Всё изложено очень понятно, с примерами по ходу изложения.
    Наконец нашёл в сети толковое объяснение как взаимодействуют Linux и Windows.
    Все предыдущие ссылки на какие-то ресурсы по настройке Samba удалю, чтобы не захламлять комп и мозг.

  6. Николай
    23 июля, 2013 at 12:50
    9

    Появился один вопрос.
    Не удаётся почему-то получить ни один файл из расшаренной папки с Windows машины командой get.
    Получаю сообщение: Error opening local file img844.doc
    Если подруливать к шаре Windows с помощью smbclient.
    Подключаюсь нормально, список каталогов и файлов вижу, но получить файлы не получается.

    • 24 июля, 2013 at 10:23
      10

      Тут нужно знать с какими ключами запускается smbclient, какие пользователи имеются на Windows, в домене/рабочей группе Windows или нет, какие права на папку/каталог в Windows. В общем, чтобы что-то ясно ответить, нужно больше информации.

    • 24 июля, 2013 at 10:24
      11

      Дополнительно, нужно знать, что прописано в smb.conf

  7. Николай
    23 июля, 2013 at 13:16
    12

    И остался один вопрос.
    Собственно, из-за него я и стал разбираться с настройками Samba.
    После 3-х месяцев знакомства с Ubuntu, вдруг пропал доступ к домену Windows в файловом менеджере.
    Причём, если указать в адресной строке путь: smb://имя хоста windows/, ресурс открывается.
    Т.е. я не могу в файловом менеджере Nautilus открыть ссылку на домен Windows.
    Вот эта вот проблема у меня осталась.
    Не смотря на то, что в соответствии с вашей статьёй, сетевой ресурс сети Windows подмонтировал (правда вот пришлось доставить пакет smb-fs, только после этого корректно заработала команда mount, а до установки не понимала формат файловой системы smbfs).
    Комп с Ubuntu в домен не включён (хотя в AD прописан) и находится в WORKGROUP.
    До недавнего времени все сетевые ресурсы (и рабочая группа и домен Windows) в файловом менеджере были доступны.
    На тек момент, благодаря вашей статье, я смог подмонтировать сетевой ресурс Windows и он хоть теперь стал доступен файловом менеджере.
    Но хотелось бы до конца разобраться с проблемой доступа к домену в Nautilus.

    • 24 июля, 2013 at 10:40
      13

      C GUI-инструментами на linux работать не приходилось, к сожалению. Нужно читать документацию…
      Вот тут уже был аналогичный вопрос.

  8. Николай
    23 июля, 2013 at 13:30
    14

    Уточнение: при попытке открыть в Nautilus – Обзор сети/Сеть Windows/Домен появляется сообщение:
    Не удалось присоединить местоположение. Не удалось получить список доступных на сервере ресурсов.

  9. ssn
    13 февраля, 2016 at 20:59
    15

    ну не надо такие ужасы про smb рассказывать :)
    Таки его рожала великая ИБМ, кады ТСП/ИП ещё не победил…
    Сорри за некропост :-D

  10. VAK
    21 января, 2017 at 18:01
    16

    И на работе, и дома получил одинаковый отрицательный результат при монтировании:
    $ sudo mount -t cifs //Homecomp/Papa /mnt -o user=Папа,password=,uid=vak,gid=vak,fmask=600,dmask=700
    mount: wrong fs type, bad option, bad superblock on //Homecomp/Papa,
    missing codepage or helper program, or other error
    (for several filesystems (e.g. nfs, cifs) you might
    need a /sbin/mount. helper program)
    В некоторых случаях полезная информация может быть
    найдена в syslog – попробуйте dmesg | tail или что-то
    в этом роде
    На работе клиент запускается из-под Debian, дома – Ubuntu.
    Это можно победить?
    Хотя основная моя цель – печатать из-под linux на сетевом компьютере с Windows.

  11. VAK
    22 января, 2017 at 13:56
    17

    Поставил cifs-utils и монтировка пошла с простой командой
    mount -t cifs //Homecomp/Papa /home/vak/mountWin -o user=Папа,password=

    Мне этого достаточно. Остается открытым вопрос, как выводить на печать на компьютере с Windows.

  12. Testy
    13 июля, 2019 at 17:24
    19

    Отличная и очень понятная статья. Большое спасибо, таких статей очень не хватает, когда изучаешь новое.

  13. Kernel715
    14 июня, 2021 at 17:54
    20

    А если на linux-е нет прав рута и не установлена samba
    можно ли как-то подключиться к шаре на windows?

    • 19 июня, 2021 at 21:02
      21

      Есть еще всякие пакеты вроде такого: FuseSmb.

Написать комментарий