{{tag>samba netbios smb smbd nmbd ad "active directory" server}}

====== Samba 2/3/4 Установка и настройка ======

<code>
[global]

client min protocol = SMB2
client max protocol = SMB3
</code>
===== Конфигурация =====

  * [[smb2.conf]]
  * [[smb3.conf]]
  * [[smb4.conf]]

==== Основные параметры ====


  * security = share - [[share|share]], [[user|user]], [[DOMAIN|DOMAIN]], [[SERVER|SERVER]], [[ADS|ADS]]
  * guest ok = Yes – для подключения к ресурсу не требуется пароль
  * guest account [UserName] – указанный пользователь UNIX будет получать доступ к ресурсу
  * guest only = Yes – разрешить только гостевые соединения к общему ресурсу
  * available = yes
  * read only = no
  * browsable = yes
  * public = yes
  * writable = yes – можно записывать и удалять
  * create mask = 0664 - с этими правами будут создаваться файлы
  * directory mask = 0755 - с этими правами будут создаваться директории
  * force user = site - действия будут происходить от этого пользователя
  * force group = www-data

==== Переменные ====

^ Переменная  ^ Описание                                                                                                                                                                                                                                                                                                                                          ^
| %U          | имя пользователя сессии (имя пользователя, которое клиент хотел, не обязательно то же самое как то, которое он получил).                                                                                                                                                                                                                          |
| %G          | имя основной группы для %U.                                                                                                                                                                                                                                                                                                                       |
| %h          | Интернет имя хоста где запущена Samba.                                                                                                                                                                                                                                                                                                            |
| %m          | NetBIOS имя клиентской машины (очень полезно) Этот параметр недоступен когда Samba слушает на 445 порту, т.к. клиенты больше не посылают эту информацию. Если вы используете этот макрос, то в разделе [global] установите smb ports = 139. Это заставит Самбу не слушать на порту 445 и разрешит, включит функциональные возможности Samba 2.x.  |
| %L          | NetBIOS имя сервера. Это позволяет вам изменять вашу конфигурацию под клиента. У вашего сервера может быть «Раздвоение личности».                                                                                                                                                                                                                 |
| %M          | интернет имя клиентской машины.                                                                                                                                                                                                                                                                                                                   |
| %R          | Выбранный уровень протокола после протокольных переговоров. Это может быть один из CORE, COREPLUS, LANMAN1, LANMAN2 or NT1.                                                                                                                                                                                                                       |
| %d          | процесс id текущего процесса сервера.                                                                                                                                                                                                                                                                                                             |
| %a          | архитектура удаленной машины. В настоящее время признаются Samba (Samba), the Linux CIFS file system (CIFSFS), OS/2, (OS2), Windows for Workgroups (WfWg), Windows 9x/ME (Win95), Windows NT (WinNT), Windows 2000 (Win2K), Windows XP (WinXP), and Windows 2003 (Win2K3). Остальные определяются как UNKNOWN.                                    |
| %I          | IP адрес клиентской машины.                                                                                                                                                                                                                                                                                                                       |
| %i          | Локальный IP адрес с которым соединился клиент.                                                                                                                                                                                                                                                                                                   |
| %T          | текущая дата и время.                                                                                                                                                                                                                                                                                                                             |
| %D          | имя домена или рабочей группы для текущего пользователя.                                                                                                                                                                                                                                                                                          |
| %w          | Разделитель winbind                                                                                                                                                                                                                                                                                                                               |
| %$(envvar)  | значение переменной envar.                                                                                                                                                                                                                                                                                                                        |
 
Следующие замены применяются только к некоторым вариантам конфигурации (только когда связь была установлена):

^ Переменная  ^ Описание                                                                                                                                                                        ^
| %S          | имя текушего сервиса для всех.                                                                                                                                                  |
| %P          | корневая директория текущего сервиса для всех.                                                                                                                                  |
| %u          | имя пользователя для текущего сервися для всех.                                                                                                                                 |
| %g          | основная группа для %u.                                                                                                                                                         |
| %H          | домашняя директория для пользователя %u.                                                                                                                                        |
| %N          | имя вашего NIS сервера домашних директорий. Это получено с вашего NIS auto.map entry. Если вы не компилировали Samba c with-automount опцией, это значение принимается как %L.  |
| %p          | путь к сервису домашних директорий, полученный с вашего NIS auto.map entry. NIS auto.map записи разделяются как %N:%p.                                                          |

==== Проверка ====

<code bash>
$ testparm -S
$ smbstatus --shares
</code>

===== WINDOWS (net use) =====

<code>
c:\ net use <driveletter>: \\<server>\<sharename> /USER:<domain>\<username> <password> /PERSISTENT:YES
</code>

=== Список  ===

<code>
c:\ net use

Новые подключения будут запомнены.


Состояние   Локальный  Удаленный                 Сеть

-------------------------------------------------------------------------------
OK           K:        \\NAS\User                Microsoft Windows Network
</code>

=== Подключение ===

<code>
c:\ net use k: \\NAS\User
</code>

<code>
c:\ net use k: \\NAS\User /USER:mirocow pass
</code>
=== Отключение ===

<code>
c:\ net use k: /delete
</code>

<code>
c:\ net use \\NAS\User /delete
</code>

=== Ошибки ===

<code>
C:\Windows\system32>net use v: \\NAS\User /USER:www-data pass
Системная ошибка 7054.

Число разрешенных подключений к этому компьютеру ограничено, и все подключения в
 данный момент уже используются. Попробуйте подключиться позже или обратитесь к
системному администратору.
</code>
===== smbclient =====

==== Параметры ====

^ Параметр                   ^ Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ^
| L host                     | Флаг выводит на экран список сервисов, доступных на сервере, заданном параметром host; при использовании этого флага нет необходимости указывать ресурс                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -I IP_address-N            | Флаг полезен, если не может быть найден адрес по имени; smbclient полагает, что компьютер расположен по указанному ГР-адресу                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -U usemame                 | Флаг подавляет приглашение password. Особенно полезен, когда доступ к ресурсу осуществляется без пароля. Если этот флаг не установлен, а пароль не требуется, пользователь все же получает приглашение для ввода и должен нажимать клавишу Enter для ввода пустого пароля Используя этот флаг, можно указать username для установки соединения с ресурсом. Без этого флага сервер использует содержимое переменных среды USER или LOGNAME; и если они пустые, сервер не получает username. Отправить пароль к серверу можно, введя знак процента (%) после username, а затем введя пароль: -U username%pas sword Определяет, какая рабочая группа используется при соединении с сервером  |
| -W workgroup-Т taroptions  | Позволяет перемещать данные в tar-файл локальной системы Linux и обратно. Например, -Тх backup . tar восстанавливает файлы из backup . tar на удаленном ресурсе, в то время как -Тс backup . tar создает tar-файл с именем backup . tar, содержащий все файлы и каталоги удаленного ресурса                                                                                                                                                                                                                                                                                                                                                                                               |
| -c 'dir'                   | Выполняет команды операций с файлами                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
==== Команды операций с файлами ====
^ Команда          ^ Описание                                                                                                                                                                                                       ^
| cd directory     | Переход в другой каталог 8MB совместно используемого ресурса                                                                                                                                                   |
| del file         | Удаление указанного файла с сервера (также используется команда rm)                                                                                                                                            |
| dir              | Отображение содержимого текущего каталога сервера (также используется команда Is)                                                                                                                              |
| get file         | Получение указанного файла с удаленного сервера и сохранение его с тем же именем в текущем каталоге локальной системы; можно задать другое имя для файла на локальной системе: getfile localfilename           |
| lcd directory    | Переход в указанный каталог на локальной системе                                                                                                                                                               |
| mget filemask    | Получение всех файлов на удаленном сервере, удовлетворяющих указанной маске файла                                                                                                                              |
| mkdir directory  | Создание указанного каталога на удаленном сервере (также используется команда md)                                                                                                                              |
| mput filemask    | Копирование всех файлов локального каталога, удовлетворяющих указанной маске файла, в текущий каталог удаленного сервера                                                                                       |
| prompt           | Включение/выключение подсказки для операций с несколькими файлами (mput и mget). При задании значения on пользователи получают подсказку при копировании каждого файла                                         |
| put file         | Копирование указанного файла из текущего локального каталога в текущий каталог на удаленном сервере, имя файла остается прежним. Имя файла на удаленном сервере можно изменить: putfile remote filename        |
| quit             | Выход из программы smbclient (также используется команда exit)                                                                                                                                                 |
| recurse          | Включает/выключает доступ к подкаталогам для операций с несколькими файлами (mput и mget). Когда задано значение on, команда при копировании файлов осуществляет поиск по всем подкаталогам текущего каталога  |
| rm dirdirectory  | Удаление каталога с удаленного сервера (также используется команда rd)                                                                                                                                         |
==== Примеры ====

=== Посмотреть ===

<code bash>
$ smbclient -L //NAS/Home -U mirocow%pass -W HOME
</code>

<code bash>
$ smbclient -U mirocow%pass //NAS/DISK1 --directory /DOWNLOAD -c 'dir'
</code>

<code bash>
$ smbclient -U MIROCOW-PC/mirocow%pass //NAS/User --directory / -c 'dir'
</code>

<code bash>
$ smbclient -L //192.168.1.252/C$ -U backuppc%backuppc -W WORKGROUP
</code>

=== Скачать ===

<code bash>
$ smbclient -U mirocow%pass //NAS/DISK1 --directory /DOWNLOAD -c 'get "Lua.zip"'
</code>

=== Залить ===

<code bash>
$ smbclient -U mirocow%pass //NAS/DISK1 --directory /DOWNLOAD -c 'put "Lua.zip"'
</code>
===== smbstatus =====

===== smbpasswd =====

Создание нового пользователя:
<code bash>$ smbpasswd -a User_name</code>

Смена пароля у существующего пользователя:
<code bash>$ smbpasswd User_name</code>

Удаление существующего пользователя:
<code bash>$ smbpasswd -x User_name</code>

Приостановить действие учетной записи без удаления:
<code bash>$ smbpasswd -d User_name</code>

Возобновить действие учетной записи:
<code bash>$ smbpasswd -e User_name</code>

Подключение данного компьютера к существующему домену:
<code bash>$ smbpasswd -j Domain_name -U Administrator_name</code>

===== smbclient =====
===== Ошибки =====

=== tree connect failed: NT_STATUS_ACCESS_DENIED ===





===== Документация =====

  * http://smb-conf.ru/
  * [[:ds_store]]
  * [[:samba:ads]]
  * [[:samba:domain]]
  * [[:samba:server]]
  * [[:samba:share]]
  * [[:samba:user]]

===== Ссылки =====

  * http://smb-conf.ru/ :!:
  * http://www.samba4.ru/ (Samba 4)
  * http://openwiki.ru/wiki/Samba
  * http://samba-doc.ru/
  * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518667

