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

Конфигурация

Sabma 2 config

Sabma 3 config

Sabma 4 config

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

security = share - share, user, DOMAIN, SERVER, 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.

Проверка

$ testparm -S

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)

Примеры

Посмотреть

$ smbclient -L //NAS/Home -U mirocow%pass -W HOME
$ smbclient -U mirocow%pass //NAS/DISK1 --directory /DOWNLOAD -c 'dir'

Скачать

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

Залить

$ smbclient -U mirocow%pass //NAS/DISK1 --directory /DOWNLOAD -c 'put "Lua.zip"'

Использование команды smbpasswd

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

$ smbpasswd -a User_name

Смена пароля у существующего пользователя:

$ smbpasswd User_name

Удаление существующего пользователя:

$ smbpasswd -x User_name

Приостановить действие учетной записи без удаления:

$ smbpasswd -d User_name

Возобновить действие учетной записи:

$ smbpasswd -e User_name

Подключение данного компьютера к существующему домену:

$ smbpasswd -j Domain_name -U Administrator_name

Ошибки

tree connect failed: NT_STATUS_ACCESS_DENIED

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

http://smb-conf.ru/

Отключить создание нежелательных файлов в Samba

security = ADS

security = DOMAIN

security = SERVER

security = SHARE

security = 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