Разное

Узнать версию samba: Как посмотреть, какую версию Samba я использую для моего контроллера домена?

Содержание

Igorka: Samba, Ubuntu и Windows-окружение

Я уже упоминал, что на моем рабочем компьютере установлена Ubuntu 9.10. На рабочих станциях пользователей Windows XP. Сервера есть как с Linux так и с Windows Server. Контроллером домена выступает Windows Server 2003. Необходимо организовать доступ с Windows-компьютеров в свою домашнюю папку на компьютере с Ubuntu. Доступ только для себя. Другим пользователям там делать нечего 🙂

Сначала устанавливаю пакет samba:

1

sudo apt-get install samba

Установленная версия samba — 3.4.0. Чтобы узнать версию пакета samba можно выполнить команду smbstatus:

1
2
3
4
5
6
7
8
9
10
11

igor@adm-ubuntu:~$ sudo smbstatus
[sudo] password for igor:

Samba version 3.4.0
PID     Username      Group         Machine                        
——————————————————————-

Service      pid     machine       Connected at
——————————————————-

No locked files

Затем вношу изменения в файл /etc/samba/smb.conf. Устанавливаю следующие значения:

где mydomain — имя домена.

Данная запись говорит о том, что пользователь должен иметь учетную запись на компьютере где установлена samba (то есть на моем компьютере с Ubuntu).

Далее внес изменения в разделе Share Definitions, чтобы получилось так как представлено ниже:

1
2
3
4
5
6
7
8
9
10
11

#======================= Share Definitions =======================
# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares.  This will share each
# user’s home directory as \\server\username
[homes]
   comment = Home Directories
   browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to ‘no’ if you want to be able to write to them.
   read only = no

Параметр read only устанавливаем в no только в том случае если необходима возможность записи в домашний каталог с Windows-компьютера через самбу.

После внесения и сохранения изменений перезапускаю демон samba:

1

sudo /etc/init.d/samba restart

Теперь устанавливаю для своей учетной записи в Ubuntu пароль для подключения к samba:

1
2
3
4

igor@adm-ubuntu:~$ sudo smbpasswd -a igor
[sudo] password for igor:
New SMB password:
Retype new SMB password:

Здесь есть маленький фокус. Если учетная запись в домене совпадает с учетной записью на компьютере с Ubuntu, а в моем случае так и есть, то если я установлю пароль на доступ к самбе такой же как и для учетной записи в домене — его не придется вводить на Windows-компьютере. То есть если я захожу на компьютер с Windows XP под учетной записью igor@mydomain, то набрав в проводнике адрес \\adm-ubuntu\igor\ я сразу попадаю в свой домашний каталог без ввода пароля. Я себе так и сделал.

Вроде ничего не забыл. Если, что забыл — поправляйте.

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

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

Итак, в приведенном листинге нам удалось подключиться к шаре \hostshare от пользователя Администратор с паролем 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 при загрузке. Всем спасибо за внимание. Жду комментариев и дополнений!

Мои серверы — Ubuntu. Я хочу знать, установлена ли Samba случайно или нет. Правильна ли следующая команда?

Похоже, что Samba не установлена.

4 ответа

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

Вы также можете выполнить поиск исполняемого файла, используя

Мне кажется, что другие ответы, хотя они, несомненно, полезны, не отвечают точно на то, что вы просили . то есть, dpkg не скажет вам, установлена ли Samba; он скажет вам, был ли он установлен с помощью dpkg / apt или нет. Например, если вы устанавливаете Samba с нуля через tarball, вся система установки Ubuntu честно скажет вам, что она не знает о том, что Samba когда-либо была установлена . даже если Samba запущена и работает.

Чтобы убедиться, что samba установлена, вы действительно пытаетесь запустить его:

Если он установлен (даже если он не запущен), он сообщит свою версию.

Такую же проверку можно выполнить с частью client пакета Samba, которая не обязательно устанавливается вместе с сервером:

Для поддержки файловой системы на всякий случай вы делаете mount.cifs -V . Строго говоря, это поддержка CIFS, а не Samba.

Чтобы узнать, работает ли программа Samba , вы можете проверить запущенные процессы пакета Samba (smbd, nmbd, winbind):

Это ничего не даст, если программа не запущена, или список процессов, входящих в комплект Samba:

Или вы можете проверить, слушают ли они порты:

Это ничего не даст, если процессы не запущены, или сообщит, какие порты они слушают:

Выше, например, мой smbd прослушивает ВСЕ (0.0.0.0) удаленные адреса.

Другой способ — проверить , прослушивает ли что-нибудь вместо Samba на портах TCP 139 и 445:

Это ничего не даст (программа не запущена) или PID запущенного процесса:

Посмотреть и изменить версию SMB на QNAP Turbo NAS можно через командную строку SSH.
Это особенно актуально для моделей где данная функция отсутствует в веб-интерфейсе.

Посмотреть версию можно командой smb2status

Версию SMB 3.0 поддерживают только новые модели QNAP. Изменить версию на 3.0 проще через веб-конфигуратор. Однако, если нужно это сделать через SSH, нужно выполнить команду smb3enable

Версию SMB 2.1 поддерживают все NAS старше моделей х10 (включительно), плюс модели TS-509 Pro и TS-809 Pro.

Установить версию 2.1 можно командой smb21enable

Все версии SMB обладают обратной совместимостью, поэтому нельзя отключить младшие версии SMB, оставив только 3.0 (например).

Иногда появляется необходимость использовать только SMB 1.0. Логика работы NAS такова, что включенной всегда является старшая из доступных версий. Поэтому для переключения на SMB 1.0 нужно просто отключить SMB 2.1.
Сделать это можно командой smb2disable

Настройка Samba Ubuntu 12.04

Samba является стандартным пакетом программ для совместимости Linux, Unix и Windows которая позволяют напрямую обращаться к сетевым дискам и принтерам на абсолютно разных ОС по протоколу SMB/CIFS. В этой статье будет рассматриваться настройка Samba Ubuntu 12.04.

Samba нужна когда Вам необходимо иметь доступ с компьютера под управлением ОС Windows к файлам, которые расположены на сервере по управлением ОС Linux (Ubuntu, Debian) или Unix, а иначе вы не сможете работать.

Связанные статьи:

Настройка Samba Ubuntu 12.04

 В рассмотренном примере настраивалась Samba в Ubuntu 12.04 
Для того что бы установить анонимный Samba Server, необходимо ввести следующую команду в терминале(Ctrl+Alt+T), она установит все необходимые пакеты:

$ sudo apt-get install samba samba-common

 Ubuntu 12.04 настройка Samba

Затем выполните:
$ sudo apt-get autoremove

Она очистит ваши систему от более ей не нужных пакетов и зависимостей

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

$ smbd --version

Ubuntu настройка Samba

 Ubuntu 13.04 настройка Samba

 

Также предлагается установить эти пакеты для Samba:

$ sudo apt-get install python-glade2 system-config-samba
 
На Вашей машине Windows, используйте эту команду, чтобы узнать имя рабочей группы:
$ net config workstation

 

Она покажет вывод, похожий на этот:

 

 

Далее необходимо выполнить Резервное копирование файла smb.conf, затем удалить ее и создать новую:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 
sudo rm /etc/samba/smb.conf 
sudo touch /etc/samba/smb.conf 
sudo nano /etc/samba/smb.conf

Добавьте этот код в файл smb.conf (или измените его в соответствии с вашими требованиями):

 

#======================= Global Settings ===================================== 
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ============================== 
[MyShare]
path = /samba/share 
browsable =yes
writable = yes
guest ok = yes
read only = no
Сохраните файл smb.conf и перезапустить службу:
$ sudo service smbd restart
 
 
 
Доступ к ресурсу Samba из Windows (где Ubuntu это имя Вашего сервера Samba):
 
 
 
 
 
 
 
Вау, мы можем получить доступ к общему ресурсу Samba, — это уже очень хорошая новость 
 
Давайте попробуем создать любой файл, внутри общей папки:

 Ubuntu настройка Samba

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

 Проверьте текущее разрешение на Samba:
cd /samba/
ls -l
 

Измените его, таким образом, что бы каждый мог читать и писать (Проверьте, что это разрешено в вашей системе или нет):

$ sudo chmod -R 0777 share
  ls -l
  
Попробуйте создать еще раз что нибудь, внутри общей папки:
 
  
Ура, у Вас получилось
Убедитесь, что вновь созданный файл появился на сервере Samba:
$ cd share/
  ls -l 
  
Часть 2: Добавление и управление пользователями и группами

 Пользователи и Группы Samba

Добавить группу на сервер Ubuntu (в моем случае smbgrp):

$ sudo addgroup smbgrp
 
 
 
Создать новую share, установить разрешение на share, добавить пользователя в группу самбы и создать пароль самбы: 
cd /samba/
sudo chown -R arbab:smbgrp secure/ 
ls -l 
sudo chmod -R 0770 secure/
ls -l
sudo adduser arbab smbgrp
sudo smbpasswd -a arbab
 
 
Добавить новые созданные группы в Samba в smb.conf:
[secure]
 path = /samba/secure
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
Перезапустите службу самбы и проверить синтаксические ошибки с testparm :
sudo service smbd restart 
sudo testparm
 
Тестирование с машины Windows:
 
 
 
Проверка с сервера Ubuntu:
cd /samba/secure/
ls -l
 
  
Надеюсь, это поможет Вам!

Как проверить версию SMB в Windows 10/8/7

SMB или Протоколы блокировки сообщений сервера используются для подключения компьютера к внешнему серверу. Windows 10 поставляется с поддержкой этих протоколов, но они отключены в OOBE. В настоящее время Windows 10 также поддерживает SMBv1, SMBv2 и SMBv3. Разные серверы в зависимости от их конфигурации требуют разных версий SMB для подключения к компьютеру. Но в случае, если вы используете Windows 8.1 или Windows 7, вы можете проверить, включена ли она тоже. Это то, что мы собираемся сделать сегодня.

Как проверить версию SMB в Windows

Прежде всего, если у вас Windows 7 , вам не следует отключать SMB v2. Это связано со следующими причинами:

  • Составление запроса — позволяет отправлять несколько запросов SMB 2 как один сетевой запрос
  • Больше чтения и записи — лучшее использование более быстрых сетей
  • Кэширование свойств папок и файлов — клиенты хранят локальные копии папок и файлов
  • Долговечные ручки — позволяют подключению прозрачно переподключаться к серверу при временном отключении
  • Улучшена подпись сообщений — HMAC SHA-256 заменяет MD5 в качестве алгоритма хеширования
  • Улучшенная масштабируемость для обмена файлами — значительно увеличилось количество пользователей, общих ресурсов и открытых файлов на сервер
  • Поддержка символических ссылок
  • Модель аренды клиентских блокировок — ограничивает объем данных, передаваемых между клиентом и сервером, повышает производительность в сетях с высокой задержкой и повышает масштабируемость SMB-серверов.
  • Поддержка большого MTU — для полноценного использования 10-гигабайтного (ГБ) Ethernet
  • Повышенная энергоэффективность — клиенты, которые имеют открытые файлы на сервере, могут спать.

Даже если вы работаете в Windows 8.1 или Windows 10 , вам не следует отключать SMB v3 или SMB v2, поскольку, помимо указанных выше проблем, вы можете столкнуться со следующими проблемами тоже, которые идут с отключением SMB v3:

  • Прозрачное аварийное переключение — клиенты повторно подключаются без перерыва к узлам кластера во время обслуживания или аварийного переключения
  • Scale Out — одновременный доступ к общим данным на всех узлах файлового кластера
  • Многоканальный — агрегирование пропускной способности сети и отказоустойчивости, если доступно несколько путей между клиентом и сервером.
  • SMB Direct — добавляет поддержку сети RDMA для очень высокой производительности, с низкой задержкой и низкой загрузкой процессора
  • Шифрование — обеспечивает сквозное шифрование и защищает от прослушивания в ненадежных сетях.
  • Лизинг каталогов — улучшает время отклика приложений в филиалах за счет кэширования
  • Оптимизация производительности — оптимизация для небольших случайных операций чтения/записи.

Способы проверки, какая версия SMB установлена ​​на Сервере.

Мы будем использовать следующие методы, чтобы проверить, какая версия SMB установлена ​​на вашем компьютере:

  1. Метод PowerShell.
  2. Метод редактора реестра.
1] Метод PowerShell

Если вы хотите проверить, какую версию SMB вы используете, вы можете просто ввести следующую команду в PowerShell:

SMB v1 Windows 10 и Windows 8.1

 Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol 

SMB v2 для Windows 10 и Windows 8.1

 Get-SmbServerConfiguration | Выберите EnableSMB2Protocol 

SMB v1 для Windows 7

 Get-Item HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters | ForEach-Object {Get-ItemProperty $ _. Pspath} 

SMB v2 для Windows 7

 Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters | ForEach-Object {Get-ItemProperty $ _. Pspath} 

Если он возвращает значение как True , он включен, иначе отключен.

2] Метод редактора реестра

Введите regedit в поле Начать поиск и нажмите Enter. После открытия редактора реестра перейдите к следующему

 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Параметры 

Теперь, если у вас есть DWORD с именами SMB1 или SMB2 , проверьте их значения.

Если для него установлено значение 0, оно отключено.

И в любом другом случае он включен.

Способы проверить, какая версия SMB установлена ​​на клиентах.

Мы будем использовать следующие методы, чтобы проверить, какая версия SMB установлена ​​на вашем компьютере:

  1. Метод PowerShell.
  2. Метод редактора групповой политики.
1] Метод PowerShell

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

SMB v1 Windows 10 и Windows 8.1

 sc.exe qc lanmanworkstation 

SMB v2 для Windows 10 и Windows 8.1

 sc.exe qc lanmanworkstation 

2] Метод редактора групповой политики

Стоит отметить, что этот метод не будет работать в Windows 10 Home или аналогичной редакции Windows 8 или Windows 7.

Откройте окно «Выполнить», введите gpedit.msc и нажмите Enter, чтобы открыть редактор локальной групповой политики. Перейдите по следующему пути:

Конфигурация компьютера> Настройки Windows

В разделе Реестр найдите элемент реестра со следующими свойствами:

Действие: обновление

Улей: HKEY_LOCAL_MACHINE

Путь к ключу: SYSTEM \ CurrentControl \ services \ mrxsmb10

Название значения. Начало

Тип значения: REG_DWORD

Данные о стоимости. 4

Если значение данных установлено в 4, SMB отключен.

Для детального чтения посетите microsoft.com.

Связанное чтение . Почему и как отключить SMB1 в Windows 10/8/7.

Глава 2. Установка Samba на Unix-систему [Справочная система PuppyRus Linux]

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

В качестве примера, мы будем устанавливать 2.2.6 версию Samba-сервера на Linux систему работающую на версии ядра 2,4. Тем не менее, шаги установки в основном одинаковы для всех платформ, которые Samba поддерживает.

Bundled Versions Сгруппированные версии

Самба так популярна в использовании, что во многих дистрибутивах Unix она уже предустановлена. If you choose to use a bundled version of Samba, you can breeze through most of this chapter, but you’ll be stuck with the Samba version and compile-time options your vendor selected for you.Если вы решите использовать пакетную версию Samba, вы можете пропустить большую часть этой главы, *но вы будете оставаться с Samba версии и во время компиляции вариантов ваших поставщиков, выбранных для вас.* Эта версия Samba не может быть как-либо новее, чем Ваша операционная система, поэтому, вероятно, будет довольно далека от последних событий. С другой стороны, вы можете быть достаточно уверены в том, что версия пакета была установлена правильно, и, возможно, достаточно лишь несколько простых изменений в вашем smb.conf файле, чтобы она была выключена и работала. Самба является достаточно зрелой, так что вам, вероятно, не потребуется последний релиз для удовлетворения ваших насущных потребностей, так что можно быть абсолютно счастливым работая с данной версией.

Если вы выберете этот вариант, то знайте, что ваши файлы Samba, в том числе очень важный smb.conf, могут быть в разных местах, чем это было бы, если бы вы устанавливали из бинарных или исходников . Например, в Red Hat, Debian и Mandrake Linux дистрибутивах, smb.conf и некоторые другие Samba-файлы находятся в /etc/samba каталоге.

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

$ smbd -V
Version 2.2.6

(Если это не сработает, это может быть вызвано тем, что для smbd не указан путь поиска. Если у Вас есть locate или whereis команды Unix в вашем варианте, вы можете использовать их для поиска пути исполнения smbd.)

*) В Puppy эти команды не работают. smbd находится в /opt/samba/sbin/ (прим. перев.)

*Возможно, Вы также можете использовать систему конкретным инструментом для запроса программное обеспечение-пакет обслуживания полезности.You might also be able to use a system-specific tool to query a software-package maintenance utility.* В Red Hat Linux, вы должны использовать команду rpm с запросом установить пакеты для Samba:

$ rpm -qa | grep samba
samba-client-2.0.8-1.7.1
samba-2.0.8-1.7.1
samba-common-2.0.8-1.7.1

Это показывает нам Samba 2.0.8, разбитую на три Red Hat Package Manager (RPM) упаковки, вместе с Red Hat 7,1. Если ваша версия Samba устарела, вы сможете, по крайней мере, хотя бы узнать у вашего поставщика обновления.

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

# rpm -e samba
# rpm -e samba-client
# rpm -e samba-common

Если вы не используете Red Hat Linux, обратитесь к вашей системной документации, чтобы найти метод, работающий для Вас.

Бинарники или исходники?

Скомпилированные «бинарные» пакеты доступны для большого количества платформ Unix. Эти пакеты содержат двоичные исполняемые файлы Samba, а также стандартную Samba документацию. Заметим, что установка бинарного дистрибутива может спасти вас от потери большого количества времени и неприятностей, нужно взять пару вопросов во внимание при принятии решения об использовании бинарного пакета или компиляции исходников для себя:

  • Бинарные пакеты могут отставать от последней версии программного обеспечения на один или два (возможно, более) младших релиза, особенно после серии небольших изменений и для менее популярных платформ. Справтесь о выпуске исходников и бинарных пакетов, чтобы убедиться, что нет каких-либо новых возможностей, которые вам нужны от платформы

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

  • Многие системы с общими библиотеками поставляются с nifty инструментом ldd. Этот инструмент расскажет Вам, какие библиотеки требуются конкретным бинарникам и которые библиотеки системы удовлетворяют этому требованию. Например, проверка smbd программы на нашей тестовой машине, даёт нам:

*) В Puppy необходимо сначала # cd /opt/samba/sbin ( прим. перев. )

$ ldd smbd
  libdl.so.2 => /lib/libdl.so.2 (0x40026000)
  libnsl.so.1 => /lib/libnsl.so.1 (0x4002a000)
  libpam.so.0 => /lib/libpam.so.0 (0x40041000)
  libc.so.6 => /lib/libc.so.6 (0x40049000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Как установить и настроить сервер Samba на Ubuntu 16.04 для общего доступа к файлам

На этом уроке мы собираемся узнать, как установить и настроить сервер Samba на Ubuntu 16.04. Samba является свободным и с открытым исходным кодом реализацией протокола SMB/CIFS для Unix и Linux, что позволяет взаимодействовать между файлами и принтерами в Unix/Linux и Windows, на машинах в локальной сети.

Samba представляет собой пакет программ, наиболее важными из которых два являются:

  • smbd : обеспечивает SMB / CIFS обслуживание ( общий доступ к файлам и печати), а также может выступать в качестве контроллера домена Windows.
  • nmbd : обеспечивает сервис имен NetBIOS

Как установить Samba-сервер на Ubuntu 16.04

Samba входит в состав большинства дистрибутивов Linux. Чтобы установить Samba на Ubuntu, просто запустите:

sudo apt install samba

 

Последняя стабильная версия доступна 4.5.3, выпущена 19 декабря 2016 г. Чтобы проверить версию Samba, запустите

sudo smbstatus

 

или

sudo smbd --version

 

Пример вывода:

Samba version 4.3.11-Ubuntu

 

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

systemctl status smbd

systemctl status nmbd

 

Для запуска этих двух служб, выполните следующие команды:

sudo systemctl start smbd

sudo systemctl start nmbd

 

После запуска, smbd будет слушать на порту 139 и 445.

Редактирование файла конфигурации

Там только один конфигурационный файл , который необходимо отредактировать: /etc/samba/smb.conf.

sudo nano /etc/samba/smb.conf

 

В разделе [global], убедитесь, что значение workgroup относиться к рабочей группе компьютеров Windows.

workgroup = WORKGROUP

 

Прокрутите вниз к нижней части файла. (В текстовом редакторе nano, нажмите CTRL+W а затем CTRL+V.) Включите новый раздел, как показано ниже. Замените username на необходимое имя пользователя.

[Home Share ]

comment = Home Public Folder
path = /home/username/
writable = yes
valid users = username

 

Home Share это имя папки , которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/, который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.

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

testparm

 

Создание пользователя

Samba содержит по умолчанию user в качестве режима защиты, означает, что клиенты должны ввести имя пользователя и пароль для доступа к общей папке. Чтобы добавить пользователя в Ubuntu, выполните следующую команду:

sudo adduser username

 

Вам будет предложено установить пароль Unix. Кроме того, необходимо установить отдельный Samba пароль для пользователя с помощью следующей команды:

sudo smbpasswd -a username

 

Теперь все, что осталось сделать, это перезапустить демон smbd.

sudo systemctl restart smbd

 

Доступ Samba к общей папки из Windows

На компьютере Windows, который находится в той же сети, откройте проводник и нажмите Сеть на левой панели. Вы увидите сервер самбы. Дважды щелкните общую папку и введите имя пользователя и пароль.

Доступ Samba к ресурсу папке с компьютера Ubuntu

В диспетчере файлов, перейдите на вкладку Сеть на левой панели и выберите Сеть Windows.

Выберите рабочую группу, сервер Samba и общую папку, а затем введите имя пользователя и пароль Samba.

Добавление нескольких пользователей или групп

Если нескольким учетным записям необходимо получение доступа к общей папке, то необходимо изменить правомерных пользователей, как показано ниже в файле /etc/samba/smb.conf.

valid users = user1, user2, user3

Также используйте smbpasswd для установки пароля Samba для каждого из этих пользователей.

sudo smbpasswd -a user1

sudo smbpasswd -a user2

sudo smbpasswd -a user3

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

valid users = @sambashare

Создайте группу.

sudo groupadd sambashare

Затем добавьте в эту группу пользователей

sudo gpasswd -a user1  sambashare

sudo gpasswd -a user2 sambashare

sudo gpasswd -a user3 sambashare

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

Набор sambashare как владельца группы общей папки:

sudo chgrp sambashare /path/to/shared/folder -R

Предоставить право на запись в группе.

sudo chmod g+w /path/to/shared/folder/ -R

Все!

Я надеюсь , что эта статья помогла вам настроить сервер Samba на Ubuntu 16.04. Как всегда, если вы нашли этот пост полезным, то отпишитесь в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Настройка samba клиента (или как работает 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!


Другие материалы в категории Настройка сервера Linux


Теги: CIFS, Linux, Microsoft Windows, NetBEUI, SMB, WINS, команды, настройка, основы
Обзор общего ресурса Samba

SMB (также известного как общий доступ к файлам Windows).

Версии Samba

OpenWrt (2019-2) поддерживает две версии Samba. Samba3 и Samba4. Многие из существующих руководств основаны на Samba3…

см .: Альтернативное более новое руководство

Сервер Samba 3 — Перед запуском

Перед началом установки samba важно, чтобы вы рассортировали ваши диски.

Установка поддержки файловой системы, монтирование, базовые разрешения на уровне ОС — все это то, над чем работает Samba.

Начало установки сервера Samba перед установкой и проверка правильности установки рабочего диска в конечном итоге значительно усложнит задачу.

(: Добавьте ссылки на различные руководства по настройке USB / файловой системы)

см .: Советы NTFS

1. Монтажное хранилище

см .: Настройка устройств хранения
Когда закончите настройку точки монтирования, проверьте (e.г. с ls / mnt в командной строке), что существует хотя бы одна точка монтирования, прежде чем продолжить.

2. Установка samba

Чтобы узнать, установлена ​​ли уже на вашем устройстве samba, попробуйте запросить версию samba:

 smbd -V 

или запросите opkg:

 список установленных opkg | grep samba 

если это не удается, вам необходимо установить самбу. Для этого сначала определите версию samba, доступную для вашей установки:

 обновление opkg
список opkg | grep samba 

В нашем примере доступная версия — «samba36»:

 люси-приложение-самба - git-17.219.28675-9ee26ac-1 - Сетевые ресурсы - Модуль Samba SMB / CIFS
...
samba36-client - 3.6.25-6 - Samba 3.6 SMB / CIFS клиент
samba36-server - 3.6.25-6 - Программный пакет Samba представляет собой набор программ, реализующих протокол SMB для систем UNIX, что позволяет 

Обязательно: Теперь установите пакет сервера samba:

 opkg установить samba36-server 

Необязательно: если вам нужен клиент samba из командной строки для отладки проблем, также установите:

 opkg установить samba36-client 

Необязательно: если вам нужна простая конфигурация LuCi GUI для samba, также установите:

 opkg установить luci-app-samba 

3.Настройка сервиса samba: раздел «config samba» в / etc / config / samba

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

Этот раздел конфигурации определяет значения и параметры, относящиеся к общей работе samba. В следующей таблице перечислены все доступные параметры, их значения по умолчанию и, соответственно, краткая характеристика.См. Дополнительную информацию на странице руководства smb.conf.
Это настройки по умолчанию для общих опций:

 конфиг 'samba'
опция 'имя' 'lede'
опция 'рабочая группа' lede '
option 'description' Samba on lede '
опция 'charset' UTF-8 '
вариант 'дома' 0 '
опция 'interface' loopback lan '
Имя Тип Обязательно По умолчанию Опция Описание
имя строка нет имя хоста или lede Имя сервера
рабочая группа строка нет имя хоста или lede Имя рабочей группы
описание строка нет Samba по имени хоста или lede Описание сервера
кодировка строка нет UTF-8 Отображение кодировки и кодировки unix
дома логический нет 0 0, 1 Поделиться каталогом пользователей
interface string no loopback lan Интерфейсы, которые должна прослушивать самба.

4. Настройка ресурса samba: раздел «config sambashare» в / etc / config / samba

По умолчанию SAMBA будет доступен через NetBIOS.
В этом разделе вам необходимо настроить папки на диске, которые вы собираетесь сделать доступными для пользователей в вашей LAN .
Убедитесь, что вы уже подключили жесткий диск USB к USB-порту и правильно смонтировал раздел. Вы можете предоставить общий доступ к разделу в целом или только к отдельным каталогам на нем.Для каждой записи нужно создать индивидуальный раздел config sambashare .

В следующем примере общее имя SMB Sharename сопоставлено с подключенным диском, который сопоставлен с / mnt / sda3 .

 конфиг 'sambashare'
option 'name' 'Sharename'
вариант 'путь' / mnt / sda3 '
опция 'create_mask' 0700 '
опция 'dir_mask' 0700 '
option read_only 'нет'
... 
  • Запустите ls / mnt в командной строке, если вам нужно отладить / определить доступные точки монтирования.

  • вам может потребоваться адаптировать «маску создания» и «маску каталога» в случае использования vFAT / FAT32 или exFAT в качестве файловой системы на внешнем диске. В случае возникновения проблем рекомендуется сначала попробовать EXT4.

  • Установите read_only на yes, если вы хотите отключить доступ для записи

Имя Тип Обязательно По умолчанию Опция Описание
имя строка да (нет) Имя общего файлового ресурса SMB.Будет отображаться в файловом браузере клиента.
путь путь к файлу да (нет) Полный путь к каталогу.путь
пользователи строка нет гостевая учетная запись или из глобального шаблона пользователи самбы разрешили доступ к этой записи; используйте smbpasswd для создания комбинации user-pwd! Можно указать несколько пользователей, разделенных запятой (например, параметр пользователи root, никто ).Переведено действующим пользователям
только чтение строка нет да или из глобального шаблона нет, да нет разрешает чтение / запись, иначе предоставляется доступ только для чтения; (для rw также необходимо смонтировать fs rw!). только чтение
guest_ok строка нет нет или из глобального шаблона нет, да Указывает, нужно ли вам войти через samba-имя пользователя и пароль для доступа к этому общему ресурсу.гость ок.
create_mask integer нет 0744 или из глобального шаблона chmod маска для созданных файлов (требуется доступ для записи). создать маску
dir_mask integer no 0755 или из глобального шаблона chmod маска для созданных каталогов (требуется доступ для записи).маска каталога.

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

  • На уровне общего доступа все пользователи сети могут получить доступ к общему ресурсу, и все файлы доступны всем пользователям.

  • На уровне пользователя для доступа к общему ресурсу необходимы имя пользователя и пароль.

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

Конфигурация общего ресурса Samba при использовании доступа «уровня общего доступа»

Чтобы установить доступ на уровне общего доступа

  • изменить security = user to security = share in /etc/samba/smb.conf.template

  • Решите для себя, хотите ли вы установить option 'read_only' 'yes ‘ на 'no ‘, чтобы разрешить неограниченный анонимный доступ, включая разрешение на запись.

  • установить guest_ok на да на долю

 конфиг 'sambashare'
        ...
опция 'read_only' 'да'
вариант 'guest_ok' 'да' 

Конфигурация общего ресурса Samba при использовании доступа «на уровне пользователя»

Убедитесь, что для guest ok установлено значение no и разрешите вашему созданному пользователю доступ к общей папке с опцией пользователи , добавив имена пользователей.
Если вы хотите добавить более одного пользователя, используйте список, разделенный запятыми.
В следующем примере мы разрешим новому пользователю получить доступ к общему ресурсу.

 конфиг 'sambashare'
        ...
вариант guest_ok 'нет'
опция пользователей 'newuser' 

5. Добавление пользователя (ей) samba

Чтобы получить доступ к общему ресурсу samba с доступом на уровне пользователя, пользователи должны быть добавлены в систему путем редактирования / etc / passwd .

Добавьте строку для каждого необходимого пользователя. Выберите уникальный идентификатор пользователя (первое число в строке) 1000 или выше, которого еще не существует.Установите идентификационный номер группы (второй номер) на «65534» (тот же номер, что и у пользователя nobody). Остальное скопируйте.

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

  • пользователь в этом примере будет называться «новый пользователь» (это имя для входа, которое необходимо ввести, когда Windows отобразит диалоговое окно аутентификации)

  • с уникальным системным идентификатором «1000»

  • с идентификатором группы 65534 (который является идентификатором группы для «никто» = нет специальной группы по умолчанию)

  • ‘/ var’ просто означает, что пользователю не потребуется специальная домашняя папка в системе

  • ‘/ bin / false’ означает, что у пользователя не будет ассоциированной программы оболочки по умолчанию

 корень: 0: 0: корень: / корень: / bin / ash
никто: *: 65534: 65534: никто: / var: / bin / false
демон: *: 65534: 65534: демон: / var: / bin / false
newuser: *: 1000: 65534: newuser: / var: / bin / false 
  • имейте в виду, что пользователи и группы, используемые Samba, должны иметь соответствующие разрешения для своих общих ресурсов, т.е.е. им нужен доступ для записи, чтобы писать через кого-л.

  • Для беспрепятственного доступа из клиентов Windows используйте то же имя пользователя, что и для входа в систему на вашем клиенте. Если вы используете учетную запись Microsoft для входа, просто используйте случайное имя пользователя без @ в имени, «новый пользователь» будет работать!

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

Для беспрепятственного доступа при использовании учетных записей Microsoft Online в Windows 8/10 отредактируйте / etc / samba / smb.conf.template и добавьте username map = /etc/samba/username.map :

 [весь мир]
[...]
имя пользователя map = /etc/samba/username.map 

Затем создайте /etc/samba/username.map , который связывает имя пользователя Linux с именем входа в учетную запись Microsoft:

 newuser = [email protected] 

6. Добавление пароля для каждого пользователя samba

Самба не полагается на пароли, хранящиеся в / etc / shadows.
Добавив следующее, вы разрешите пользователям доступ к общей папке SMB.С этими паролями ваши пользователи не получат SSH или LuCi доступа к вашей системе LEDE (если вы не дадите им другой дополнительный пароль в файле / etc / shadows)

 smbpasswd -a новый пользователь 
  • Пароли хранятся в хешированной форме в файле: / etc / samba / smbpasswd .

  • Для беспрепятственного доступа из клиентов Windows предпочтительно использовать тот же пароль, что и для входа в систему на вашем клиенте. (Это также относится к учетным записям Microsoft Online)

7.Перезапуск самбы

Перезагрузите самбу, выполнив следующую команду

 перезапуск службы самбы 

Необязательная конфигурация: /etc/samba/smb.conf.template

Помимо файла UCI ( / etc / config / samba ), можно внести изменения в файл /etc/samba/smb.conf.template .
В обычном режиме работы по умолчанию эту конфигурацию можно оставить нетронутой.

например чтобы разрешить пользователям с нулевым паролем (могут проходить аутентификацию без ввода пароля), отредактируйте / etc / samba / smb.conf.template и добавьте нулевых паролей = да :

Поиск и устранение неисправностей

  • Клиенты Windows: при использовании exFAT или vFAT (FAT32) в качестве файловой системы на стороне LEDE для самбы вы можете получить сообщение об ошибке Windows 0x8007003b на клиентах Windows> = Win8. Эта ошибка, по-видимому, особенно возникает при попытке скопировать большие файлы (> 3,5 ГБ ) в общий ресурс LEDE SMB, хотя, например, exFAT поддерживает файлы размером> 4 ГБ. После этого сервисы самбы на стороне LEDE могут дать сбой, что потребует перезагрузки устройства LEDE.Последний файл, скопированный до сбоя, обычно не копируется правильно. Надежный способ избежать этой ошибки — использовать EXT4 на внешнем диске, подключенном к устройству LEDE.
  • Если доступ для записи невозможен

    • проверьте, что для точки монтирования (например, ls -l / mnt / sha3 установлены биты «rwx». chmod можно использовать, чтобы изменить это, если есть сомнения.

    • проверьте, что общий ресурс samba настроен с опцией read_only ‘no’

    • кажется, что если имя общего ресурса samba совпадает с именем точки монтирования, которая запускает режим только для чтения.Например. не называйте общий ресурс samba «sha3», если ваша точка монтирования называется «/ mnt / sha3»

  • Если в месте назначения недостаточно места.

    • Поскольку корневая файловая система имеет ограниченное хранилище (скажем, 2 МБ), и вы монтируете хранилище в / mnt / sda1 (16 ГБ с 8 ГБ свободно), и вы указываете путь в разделе Общие каталоги сетевых ресурсов / Samba в Конфигурация SMB как / mnt, тогда у вас будет только 2 МБ пространства, но если вы используете / mnt / sda1, у вас (16 ГБ с 8 ГБ свободно) теперь достаточно места в месте назначения.
    • SMB 1.0 / CIFS Client должен быть включен…

    • Нажмите клавишу Windows + R
      Тип: optionalfeatures.exe
      Нажмите Enter

      Прокрутите вниз до SMB 1.0 / CIFS File Sharing Support.
      Отметьте клиент SMB 1.0 / CIFS.
      Снимите флажок SMB 1.0 / CIFS Автоматическое удаление и
      Снять флажок SMB 1.0 / CIFS Server

      Нажмите ОК
      Перезагрузите, если будет предложено.

Этот веб-сайт использует файлы cookie. Используя веб-сайт, вы соглашаетесь с хранением файлов cookie на вашем компьютере.Также вы подтверждаете, что прочитали и поняли нашу Политику конфиденциальности. Если вы не согласны, покиньте сайт.OKПодробнее о файлах cookie

docs / guide-user / services / nas / samba_configuration.txt · Последнее изменение: 13.10.2019 18:15 автор: udoline

.

Монтирование акций samba из клиента unix

Монтирование акций samba из клиента unix

Общее описание

Использование общего ресурса сервера Samba в файловой системе unix зависит от множества отдельных компонентов. Вам нужны как минимум smbfs (который больше не поддерживается) или современные модули ядра cifs. Хотя в более старой документации говорится об использовании smbfs, у нее есть много ограничений, и следует отдавать предпочтение cifs. Тем не менее, в этом документе я опишу только модуль cifs.

Поскольку файловая система cifs включена в стандартное ядро ​​Linux, ее просто собрать либо как модуль, либо как встроенный. Если вы собираете модуль cifs (например, чтобы получить более новую версию с исправлениями) и не устанавливаете его в расположение по умолчанию, тогда вам может потребоваться загрузить его перед монтированием общего ресурса или позволить modprobe загрузить его через modprobe.conf, чтобы получить более новый модуль cifs, а не тот, который поставляется с вашим дистрибутивом.

Базовая команда монтирования — mount -t cifs // / .Каждый компонент требует своего внимания.

Утилита mount вызывает помощник монтирования, обычно mount.cifs , который вызывает ядро.
Помощник монтирования mount.cifs является помощником в пространстве пользователя и необходим для синтаксического анализа имен tcp / ip и получения идентификатора пользователя и пароля, а также выполняет простое форматирование параметров монтирования.

Сервер прослушивает входящие клиентские соединения через TCP / IP и, таким образом, имеет IP-адреса и, как правило, имена хостов tcp, настроенные для них, но пользователи часто обращаются к серверу по его «имени netbios» (имя RFC1001).Для монтирования с использованием клиента cifs необходимо указать имя tcp (а не имя netbios) для сервера. Чтобы преобразовать в IP-адрес, вам нужен либо DNS-сервер, который знает IP-адрес, либо вашему клиенту нужен модуль nss. Это разделяемая библиотека, которая должна находиться на пути вашего ldd. Обычно в / usr / lib. Вам также необходимо добавить опцию wins к хостам в вашем /etc/nsswitch.conf. Утилиту smbclient также можно использовать для идентификации TCP-имени или IP-адреса сервера (идентифицируемого по его имени netbios).

точка монтирования должна быть каталогом в другом месте файловой системы, которая должна существовать.

Общие параметры mount.cifs

Теперь объяснение опций mount -t cifs, описанных в man mount.cifs.
mount.cifs имеет множество опций, некоторые из них действительно сбивают с толку. Я постараюсь упомянуть здесь самое главное.

  • user = или username = : Это пользователь , который используется для аутентификации на сервере.Если это не указано, используется переменная среды USER. Этот параметр также может принимать форму «пароль пользователя%» или «рабочая группа / пользователь» или «пароль рабочей группы / пользователя%», чтобы можно было указать пароль и рабочую группу как часть имени пользователя.
  • pass = или password = : указывает пароль CIFS. Если эта опция не указана, используется переменная среды PASSWD. Если пароль не указан прямо или косвенно через аргумент для монтирования mount.cifs запросит пароль, если не указан гостевой параметр.
  • credentials = : указывает файл, содержащий имя пользователя и / или пароль. Это предпочтительнее иметь пароли в виде открытого текста в общем файле, таком как / etc / fstab. Обязательно защитите файл учетных данных должным образом. Формат файла:
 имя пользователя = значение
пароль = значение
 
  • uid = : устанавливает uid, который будет владеть всеми файлами в смонтированной файловой системе.Он может быть указан как имя пользователя или числовой uid. Этот параметр игнорируется, если целевой сервер поддерживает расширения CIFS Unix (что samba делает по умолчанию, если вы не отключите его).
  • gid = : устанавливает gid, который будет владеть всеми файлами в смонтированной файловой системе. Он может быть указан как имя группы или числовой идентификатор. Этот параметр игнорируется, если целевой сервер поддерживает расширения CIFS Unix.
  • домен = <домен | рабочая группа> : устанавливает домен (рабочую группу) пользователя
  • ip = : устанавливает целевой хост или IP-адрес.
  • гость : смонтируйте общий ресурс как гостевой и не запрашивайте пароль.

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

Разрешение имен NetBios с WINS

Всем сетевым программам в какой-то момент необходимо преобразовать имя хоста в IP-адрес. Обычно это делается с помощью вызова функции gethostbyname . Этот вызов является библиотечной функцией и, следовательно, обрабатывается в пользовательском пространстве.Системы Glibc, такие как Linux, имеют возможность использовать более одного метода поиска для выполнения такого запроса. Это известно как nsswitch (переключатель службы имен). Файл конфигурации обычно находится в /etc/nsswitch.conf.

Если программа хочет разрешить IP-адрес хоста с именем wiki, она просто вызывает функцию gethostbyname . Тогда за выполненный поиск отвечает нижележащий glibc. Glibc читает /etc/nsswitch.conf и загружает библиотеку, упомянутую в строке hosts .Это ключевой момент: если есть запись выигрывает , glibc загружает libnss_wins.so, который включает поиск имени NetBios. Вы получили это, вы можете разрешить имя Windows в IP-адрес.

Так что все просто: установите libnss_wins.so, добавьте в свой /etc/nsswitch.conf в строке hosts запись wins, и разрешение имен Windows работает. Ваша сетевая настройка должна подходить для этого, но это не вопрос самбы.

Пошаговый список для начала работы

Предположим, у вас есть один из тех ящиков NAS с питанием от ARM, таких как Buffalo et al., Которые делают под вашим телевизором, и вы хотите получить к нему доступ с настольного компьютера Linux где-нибудь в вашем доме.
Вам понадобится IP-адрес указанного ящика! Часто вы можете узнать это через веб-интерфейс вашего роутера.

Отредактируйте файл / etc / fstab с правами root с помощью вашего любимого редактора
, например. sudo gedit / etc / fstab
В конце файла добавьте строку, которая выглядит так: —

 //  / <общая папка> / <точка монтирования> cifs user = , pass =  0 0 

Если вы никогда не настраивали пользователей на NAS, это будет выглядеть так

 //  / <общая папка> / <точка монтирования> cifs guest, _netdev, uid = <ваше имя пользователя в Linux> 0 0 

Вот как выглядит одна из моих записей

 //192.168.2.100/share / mnt / oneterra cifs guest, _netdev, uid = mike 0 0 

Теперь, когда я просматриваю / mnt / oneterra, я вижу все свои файлы на моем NAS емкостью 1 ТБ! Если бы я пропустил uid = myloginname, у меня был бы доступ только для чтения, _netdev должен сообщить Linux, чтобы он дождался, пока сеть загрузится, прежде чем пытаться монтировать

Для получения дополнительной информации попробуйте эту ссылку [1]

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

Вот дословные команды, которые я использовал (SuSE 10.0 на станцию ​​Buffalo Link). Обратите внимание, я знал IP-адрес, в моем случае имя SMB не работало, и я не беспокоился о том, чтобы имя сети «Имя NetBios» работало, как было предложено выше.

 su (убедитесь, что вы делаете это как root)
mkdir / mnt / linky_share
монтировать -t cifs -o пользователь = люк //192.168.1.104/share / mnt / linky_share

Затем он запросит пароль для вашего общего доступа к файлам.
вуаля! теперь вы можете рассматривать его как свою файловую систему.
 
 #note Я думал, что "mount -t cifs -o guest" должен работать, но у меня возникла ошибка разрешения, хотя
# У меня есть общие ресурсы, для которых нет ограничения доступа...
 

Подключение общих ресурсов при входе в систему

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

Для получения дополнительной информации

Руководство пользователя Linux CIFS client (http://linux-cifs.samba.org) можно найти по адресу:
http://pserver.samba.org/samba/ftp/cifs-cvs/linux-cifs-client-guide.pdf
или
http://pserver.samba.org/samba/ftp/cifs-cvs/linux-cifs-client-guide.odt

.

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

Есть несколько хороших ссылок для устранения неполадок с конкретным именем
услуги: Пол Альбиц и Cricket Liu DNS и
Bind
(O’Reilly) покрывает DNS, Хэл
Stern NFS и
шекелей (O’Reilly) покрывают шекели
(«Желтые страницы»), а Windows
Internet Name Service (WINS), хостов / LMHOSTS
файлы, а NIS + лучше всего покрываются соответствующими
руководства поставщиков.

Определение того, что используется

Сначала посмотрите,
сервер и клиент используют DNS, WINS, NIS или
содержит файлов для поиска IP-адресов, когда вы
дайте им имя. У каждого типа системы разные предпочтения:

  • Windows 95/98 / Me пробует WINS и файл LMHOSTS
    сначала, потом трансляция, и наконец DNS и HOSTS
    файлы.

  • Windows NT / 2000 / XP пробует WINS, затем выполняет широковещательную передачу, затем
    файл LMHOSTS и, наконец,
    ХОСТЫ и DNS.

  • Программы Windows, использующие стандарт WINSOCK, используют файл HOSTS, DNS,
    WINS, а затем трансляция. Не думайте, что если
    работает служба имен разных программ, SMB
    клиентская программа имя сервиса будет!

  • Демоны Samba используют lmhosts , WINS, Unix
    разрешение имени системы, а затем транслировать.

  • Системы

    Unix могут быть настроены для использования любой комбинации DNS,
    HOSTS файлов, NIS или NIS +, и winbind в целом
    в любом порядке.

Мы рекомендуем настроить клиентские системы для использования WINS и
DNS, демоны Samba для использования WINS и DNS и сервер Unix для
используйте DNS, размещает файлов и, возможно, NIS +.
Вам нужно будет просмотреть свои заметки и фактические
системы, чтобы увидеть, какие из них используются.

На клиентах все службы имен настроены в TCP / IP.
Панель свойств панели управления сетью, как описано в
Глава 3. Вам может потребоваться проверить там, чтобы увидеть
что вы на самом деле включили.На сервере см.
если существует файл /etc/resolv.conf . Если это так,
вы используете DNS. Вы можете использовать других как
ну хотя. Вам нужно будет проверить наличие шекелей и
комбинации услуг.

Проверьте наличие файла /etc/nsswitch.conf в Solaris
и другие операционные системы System V Unix. Если у вас есть, ищите
строка, которая начинается с host: за которой следует один или
больше файлов, привязка,
nis или nis +. Эти
назовите службы для использования, по порядку, с необязательным дополнительным материалом в
квадратные скобки.Ключевое слово files предназначено для
используя HOSTS файлов, при связывании
(Демон имен в Интернете Беркли) относится к использованию DNS.

Если клиент и сервер отличаются, первое, что нужно сделать, это получить их
синхронно. Клиенты могут использовать DNS, WINS, HOSTS и
LMHOSTS файлов, но не NIS или NIS +. Серверы могут
используйте HOSTS и LMHOSTS
файлы, DNS, NIS или NIS + и winbind, но не WINS, даже если ваш
Сервер Samba предоставляет услуги WINS. Если ты не можешь
заставить все системы использовать одни и те же услуги, вы
необходимо тщательно проверять сервер и клиент на наличие одинаковых данных.

Вы также можете использовать -R (порядок разрешения)
опция для smbclient . Если вы хотите
для устранения неполадок WINS, например, вы бы сказали:

 $  smbclient -L   сервер   -R выигрывает  

Возможные настройки: хосты (что означает
что бы ни использовала система Unix, а не только
/ etc / hosts
файлов), lmhosts,
выигрывает, и bcast (трансляция).

В следующих разделах мы используем термин long
имя
для полного доменного имени (FQDN), например
сервер.example.com, а термин короткий
имя
для части хоста полного доменного имени, например
сервер.

.

smbclient

? [команда]

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

! [команда оболочки]

Если указана команда оболочки , команда!
команда выполнит оболочку локально и запустит указанную оболочку
команда. Если команда не указана, будет запущена локальная оболочка.

allinfo file

Клиент запросит возврат сервера
вся известная информация о файле или каталоге (включая потоки).

файл altname

Клиент запросит возврат сервера
«альтернативное» имя (имя 8.3) для файла или каталога.

архив <номер>

Устанавливает уровень архива при работе с файлами.
0 означает игнорировать бит архива, 1 означает работать только с файлами с этим установленным битом,
2 означает работать только с файлами с этим установленным битом и сбрасывать его после операции,
3 означает работу со всеми файлами и сброс после операции.По умолчанию — 0.

резервное копирование

Переключить состояние флага «намерение резервного копирования»
отправляется на сервер в списках каталогов, и файл открывается. Если
установлен флаг «намерение резервного копирования», сервер попытается
обойти некоторые проверки файловой системы, если пользователю предоставлено
SE_BACKUP или SE_RESTORE привилегии. Это состояние полезно, когда
выполнение операции резервного копирования или восстановления.

размер блока <число>

Устанавливает параметр размера блока для операции tar.По умолчанию — 20.
Заставляет tar-файл записываться в блоках размером * TBLOCK (обычно 512 байт).

отменить jobid0 [jobid1] … [jobidN]

Клиент запросит у сервера отмену
задания печати, идентифицированные заданными числовыми идентификаторами заданий печати.

case_sensitive

Переключает установку флага в SMB-пакетах, которые
указывает серверу рассматривать имена файлов с учетом регистра. Установите ВЫКЛ.
по умолчанию (указывает файловому серверу рассматривать имена файлов как нечувствительные к регистру).Только
в настоящее время влияет на файловые серверы Samba 3.0.5 и выше с учетом регистра
для параметра установлено значение auto в smb.conf.

cd <имя каталога>

Если указано «имя каталога», текущий
рабочий каталог на сервере будет изменен на каталог
указано. Эта операция завершится неудачно, если по какой-либо причине указанный
каталог недоступен.

Если имя каталога не указано, текущая рабочая
каталог на сервере будет сообщен.

Режим файла chmod в восьмеричном формате

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

chown file uid gid

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает. Клиент запрашивает, чтобы сервер
измените владельца UNIX и группу на указанные десятичные значения.Обратите внимание, что есть
в настоящее время нет возможности удаленно искать значения uid и gid UNIX для заданного имени.
Это может быть исправлено в будущих версиях расширений CIFS UNIX.

close

Закрывает файл, явно открытый командой open. Используется для
для внутреннего тестирования Samba.

del

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

deltree

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

dir

Список файлов, соответствующих маске в текущем
рабочий каталог на сервере будет получен с сервера
и отображается.

du

Создает список каталогов, а затем распечатывает текущее использование диска и свободное пространство на общем ресурсе.

echo <номер> <данные>

Выполняет запрос SMBecho для проверки связи с сервером.Используется для внутреннего тестирования Samba.

выход

Завершить соединение с сервером и выйти
из программы.

get <имя удаленного файла> [имя локального файла]

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

getfacl

Требуется, чтобы сервер поддерживал расширения UNIX. Запросы и распечатки
ACL POSIX для файла.

жесткая ссылка

Создает жесткую ссылку на сервере с использованием семантики Windows CIFS.

help [команда]

Видеть? команда выше.

история

Отображает историю команд.

iosize <байты>

При отправке или получении файлов smbclient использует
размер внутреннего буфера зависит от максимального количества разрешенных запросов
к подключенному серверу.Эта команда позволяет установить этот размер на любой
диапазон между 0 (что означает использование размера, контролируемого сервером по умолчанию) байтов
и 16776960 (0xFFFF00) байт. Размер, контролируемый сервером, является
наиболее эффективен, поскольку smbclient будет конвейерно обрабатывать столько одновременных чтений или
записи, необходимые для максимальной занятости сервера. Установив это на
любой другой размер замедлит передачу.

lcd [имя каталога]

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

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

link target linkname

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

listconnect

Показать текущие соединения, удерживаемые для целей DFS.

lock

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает. Пытается установить POSIX
fcntl блокировка данного типа на заданном диапазоне. Используется для внутреннего тестирования Samba.

logon <имя пользователя> <пароль>

Устанавливает новый vuid для этого сеанса путем повторного входа в систему.Заменяет текущий vuid. Распечатывает новый vuid. Используется для внутреннего тестирования Samba.

выход из системы

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

нижний регистр

Переключить строчные буквы в именах файлов для получения и
Команды mget.

При включении нижнего регистра имена локальных файлов преобразуются
в нижний регистр при использовании команд get и mget. Это
часто бывает полезно при копировании (скажем) файлов MSDOS с сервера, потому что
Имена файлов в нижнем регистре являются нормой в системах UNIX.

ls

См. Команду dir выше.

mask

Эта команда позволяет пользователю установить маску
который будет использоваться во время рекурсивной работы mget и
команды mput.

Маски, указанные для команд mget и mput, действуют как
фильтрует каталоги, а не файлы, когда рекурсия
включен.

Необходима маска, указанная с помощью команды mask
для фильтрации файлов в этих каталогах.Например, если
маска, указанная в команде mget, — «source *», а маска
указан с помощью команды маски «* .c», а рекурсия
включен, команда mget получит все файлы, соответствующие
«* .c» во всех каталогах ниже, включая все каталоги
соответствие «источнику *» в текущем рабочем каталоге.

Обратите внимание, что значение маски по умолчанию пустое (эквивалент
на «*») и остается так до тех пор, пока не будет использована команда маски для его изменения.
Он сохраняет последнее указанное значение на неопределенный срок.Чтобы
чтобы избежать неожиданных результатов, было бы разумно изменить значение
маска возвращается к «*» после использования команд mget или mput.

md <имя каталога>

См. Команду mkdir.

mget

Скопируйте все файлы, соответствующие маске с сервера на
машина, на которой запущен клиент.

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

mkdir <имя каталога>

Создать новый каталог на сервере (доступ пользователя
разрешающие привилегии) ​​с указанным именем.

подробнее <имя файла>

Извлечь удаленный файл и просмотреть его с содержимым
переменной среды PAGER.

mput

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

Обратите внимание, что маска интерпретируется по-разному во время рекурсивной
операция и нерекурсивная операция — обратитесь к рекурсии и маске
команды для получения дополнительной информации. Обратите внимание, что все переводы в smbclient
бинарны.

notify

Запросить каталог для изменения
уведомления. Эта команда выдает рекурсивный
filechangenotify вызывает все возможные изменения. Как
При появлении изменений печатается одна строка за каждое изменение.Видеть
https://msdn.microsoft.com/en-us/library/dn392331.aspx
для описания номеров действий, которые
печать команд.

Эта команда никогда не заканчивается, она ждет события
бесконечно.

posix

Запросить удаленный сервер, чтобы узнать, поддерживает ли он CIFS UNIX
extension и распечатывает список поддерживаемых возможностей. Если да, поверните
при обработке имени POSIX и чтении / записи больших файлов (если доступно).

posix_encrypt <домен> <имя пользователя> <пароль>

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает.Попытка договориться
Шифрование SMB для этого соединения. Если smbclient связан с kerberos
учетные данные (-k) аргументы этой команды игнорируются, а Kerberos
учетные данные используются вместо этого для согласования подписи и запечатывания GSSAPI. Видеть
также параметр -e для smbclient для принудительного шифрования при начальном соединении.
Эта команда появилась в Samba 3.2.

posix_open <имя файла> <восьмеричный режим>

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает.Открывает удаленный файл
с использованием расширений CIFS UNIX и печатает fileid. Используется для внутренней Samba
в целях тестирования.

posix_mkdir <восьмеричный режим>

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

posix_rmdir

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

posix_unlink

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает. Удаляет удаленный файл
с использованием расширений CIFS UNIX.

posix_whoami

Запросить на удаленном сервере токен пользователя с помощью CIFS UNIX
добавочные номера WHOAMI называют. Распечатывает гостевой статус, пользователя, группу, список групп и
Список sid, который удаленный сервер использует от имени вошедшего в систему пользователя.

print <имя файла>

Распечатать указанный файл с локального компьютера
через службу печати на сервере.

подсказка

Включить подсказку для имен файлов во время работы
команд mget и mput.

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

put <имя локального файла> [имя удаленного файла]

Скопируйте файл с именем имя локального файла из
машина запускает клиента на сервер.Если указано,
имя удаленной копии имя удаленного файла . Обратите внимание, что все переводы
в smbclient являются двоичными. См. Также команду в нижнем регистре.

очередь

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

выйти

См. Команду выхода.

символьное имя ссылки для чтения

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает.Распечатать
значение символической ссылки «symlinkname».

rd <имя каталога>

См. Команду rmdir.

recurse

Переключить рекурсию каталогов для команд mget
и mput.

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

Когда рекурсия выключена, только файлы из текущего
рабочий каталог на исходном компьютере, соответствующий указанной маске
в команды mget или mput будут скопированы, и любая указанная маска
использование команды маски будет проигнорировано.

переименовать <старое имя файла> <новое имя файла> [-f]

Переименовать файлы в текущем рабочем каталоге на
сервер от старое имя файла до
новое имя файла .Необязательный
-f переключатель позволяет заменить целевой файл,
если он существует. Это поддерживается диалектом протокола NT1.
и семейство протоколов SMB2.

rm

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

rmdir <имя каталога>

Удалить указанный каталог (доступ пользователя
разрешающие привилегии) ​​с сервера.

scopy <имя исходного файла> <имя файла назначения>

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

setmode

Версия команды атрибута DOS для установки
права доступа к файлам. Например:

setmode myfile + r

сделает мой файл доступным только для чтения.

showconnect

Показать текущее активное соединение, удерживаемое для целей DFS.

stat file

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает.Клиент запрашивает
Базовый информационный уровень UNIX и выводит ту же информацию, что и команда Linux stat.
бы о файле. Это включает размер, блоки, используемые на диске, тип файла,
разрешения, номер inode, количество ссылок и, наконец, три отметки времени
(доступ, изменение и изменение). Если файл является специальным файлом (символическая ссылка, символ или
блочное устройство, фифо или сокет), тогда также может быть напечатана дополнительная информация.

символьная ссылка target linkname

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает.Клиент запрашивает, чтобы сервер
создать символическую жесткую ссылку между целевым файлом и файлом с именем ссылки. Файл с именем ссылки
не должно существовать. Обратите внимание, что сервер не будет создавать ссылку на любой путь, который лежит
за пределами текущего подключенного общего ресурса. Это обеспечивается сервером Samba.

tar [IXbgNa]

Выполняет операцию tar — см.
-T параметр командной строки выше. Поведение
может быть затронута командой tarmode (см. ниже).Используя g
(инкрементный) и N (новее) повлияют на настройки режима полета. Запись
что использование опции «-» с tar x может не работать — используйте
вместо этого параметр командной строки.

размер блока <размер блока>

Размер блока. Должен следовать действительный (больший
чем ноль) размер блока. Записывает tar-файл в
блоков * TBLOCK (512 байт) блоков.

tarmode

Изменяет поведение tar относительно DOS
атрибуты.Есть 4 режима, которые можно включить или
выкл.

Инкрементальный режим (по умолчанию выключен). Когда выключено (использование
полный ) tar сделает резервную копию всего
вне зависимости от архива бит
настройка. При включении (при использовании inc ) tar будет только
резервное копирование файлов с установленным битом архива.

Режим сброса (по умолчанию выключен). Когда включен (используя
reset ) tar удалит бит архива на
все файлы, которые он создает резервные копии (подразумевает общий доступ для чтения / записи). Использовать
noreset для выключения.

Системный режим (по умолчанию включен). Когда выключено, tar не будет создавать резервные копии
системные файлы. Для выключения используйте nosystem .

Скрытый режим (по умолчанию включен). Когда выключено, tar не будет создавать резервные копии
скрытые файлы. Для выключения используйте nohidden .

timeout <время ожидания для каждой операции в секундах>

Это позволяет пользователю настроить значение по умолчанию
таймаут, используемый для каждого запроса SMB. По умолчанию установлено
20 секунд. Увеличьте его, если иногда запросы к серверу
тайм-аут.Это может произойти, если выбрано шифрование SMB3.
и smbclient заваливает сервер запросами.

unlock

Эта команда зависит от сервера, поддерживающего CIFS
Расширения UNIX и не будут работать, если сервер не работает. Пытается разблокировать POSIX
fcntl блокирует данный диапазон. Используется для внутреннего тестирования Samba.

том

Печатает текущее имя тома общего ресурса.

vuid <номер>

Изменяет текущий используемый vuid в протоколе на
заданное произвольное число. Без аргумента распечатывает текущий
vuid используется. Используется для внутреннего тестирования Samba.

tcon

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

tdis

Закройте текущее подключение к общему ресурсу (отключение дерева).Используется для внутреннего тестирования Samba.

tid

Изменяет текущий идентификатор дерева (tid) в
протокол на новый произвольный номер. Без аргументов это
распечатывает используемый в данный момент tid.
Используется для внутреннего тестирования Samba.

utimes <имя файла> <время создания> <время доступа> <время записи> < изменить время>

Изменяет временные метки в файле по имени.
Время следует указывать в формате ГГ: ММ: ДД-ЧЧ: ММ: СС или -1, чтобы не изменять.

.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *