Samba - установка и настройка old

Материал из AlexNook
Перейти к: навигация, поиск
Логотип Samba
Samba - это программа работающая по протоколу smb или cifs, способная обеспечивать взаимодействие систем на базе Linux с системами гед стоит ОС от Microsoft.

Рассмотрим установку Samba и настройку серверной её части для работы в сети Microsoft. То есть мы имеем сервер с установленным на него ОС Gentoo куда и хотим поставить Samba, которая позволит всем компьютерам локальной сети видеть на сервере с ОС Gentoo "расшаренные" папки в стиле того как это делает ОС Windows.

Установка

Note: Следует обратить внимание на классную статью по настройке самбы под Генту вот тут

Для установки в Gentoo воодим:

USE="acl automount kerberos pam swat syslog" emerge samba

При этом используются следующие USE флаги:

Use Flags: acl automount kerberos pam swat syslog (?)

  • acl - Include support for Kerberos. Enables Access Control Lists. The ACL support in Samba uses a patched ext2/ext3, or SGI's XFS in order to function properly as it extends more detailed access to files or directories; much more so than typical *nix GID/UID schemas
  • automount - Enables automount support
  • kerberos - Adds kerberos support for authentication to AD
  • pam - Include support for pluggable authentication modules (PAM). This provides the ability to authenticate users on the Samba Server, which is required if users have to login to your server. The kerberos USE flag is recommended along with this option
  • swat - Includes the files necessary to use the Samba Web Administration Tool (SWAT)
  • syslog - для логирования

При этом автоматом поставится пакет sys-apps/xinetd. Если нет, то его необходимо установить (emerge xinetd).

Далее добавим его в автозагрузку:

rc-update add xinetd default

Далее правим конфиг Swat, где включаем его (по умолчанию он выключен):

nano /etc/xinetd.d/swat

Обратите внимание на опцию disable = yes которую надо исправить в соответствии с моим конфигом:

File: /etc/xinetd.d/swat
  1.  service swat
  2.  {
  3.         port            = 901
  4.         socket_type     = stream
  5.         protocol        = tcp
  6.         wait            = no
  7.         only_from       = localhost
  8.         user            = root
  9.         server          = /usr/sbin/swat
  10.         log_on_failure += USERID
  11.         disable         = no
  12.  }

Так же я исправил опцию only_from для указания интерфейса который будет слушаться. При указании 0.0.0.0 - будут слущаться все интерфейсы. По умолчанию стоит localhost. Так же можно изменить и порт - port.

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

smbpasswd -a root

Далее логинимся по адресу http://localhost:901 и, введя пароль и логин root'а настраиваем самбу через веб!

Note: Для использования NetBIOS'а Windows'ом возможно иммет смысл поправить строку в файле
File: /etc/nsswitch.conf
hosts: files dns wins
, добавив туда слово wins

Настройка сервера

В первый раз ИМХО есть смысл настроить сервер врчуную через конфиг, а потом уже управлять им и подстраивать его можно будет через веб интерфейс Swat.

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

cp /etc/samba/smb.conf.example /etc/samba/smb.conf

В данном файле всё очень подробно прокоментированно, так что есть смысл дочитать его до конца. Если всё же что-то будет не ясно или не до конца понятно то милости просим в страницы мана:

man smb.conf

После того, как файл настроен необходимо его сохранить в вашем любимом редакторе и запустить сервер самбы:

/etc/init.d/samba start


Кстати заметте, что при перезапуске сервера через консоль, он автоматически в дополнение к демону smbd перезапускает в качестве зависимости и демон nmbd, что я и советую делать при рестарте через веб админку.

Далее добавляем сервер в автозагрузку:

rc-update add samba default

Рассматривать весь файл конфигурации я не буду, а раскажу, как можно настроить сервер на работу в обычной домашней локальной сети для удобной организации файловой "свалки" с возможность полного доступа к ней всех членов домашней сети, включая выполнение файлов (к примеру удобно воспроизводить видео не скачивая как требует того протокол FTP)

Настройка на полный доступ для домашней сети

Приведу пример конфига уже с моими коментариями прямо в нём:

File: /etc/samba/smb.conf
  1. # Samba config file created using SWAT
  2. # from 192.168.0.104 (192.168.0.104)
  3. # Date: 2008/09/05 17:00:49
  4.  
  5. #Глобальные настройки
  6. [global]
  7.         netbios name = Router_a
  8. #рабочая группа домашней виндовой сети
  9.         workgroup = FRC
  10. #Название которое отображается в заголовке окна при заходе на сервер (%v - версия самбы)
  11.         server string = Router_a
  12. #Говорит о типе доступа на сервер. SHARE - это простая "шара", USER - для доступа по реквизитам логин/пароль
  13. #       security = SHARE
  14.         security = User
  15. #Всех гостей интерпритируем как не верных юзеров              
  16.         map to guest = Bad User
  17. #Степень подробности логов (от 1 до 10)
  18.         log level = 3
  19. #Путь куда логи сохраняем - %m это имя хоста зашедшего на сервер
  20.         log file = /var/log/samba/log.%m
  21. #Максимальный размер лога в килобайтах
  22.         max log size = 10000
  23.         socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
  24. #Как я понял винда очень не любит когда кто-то выступает в роли мастера и завладевает конектом кроме неё самой
  25.         preferred master = No
  26.         local master = No
  27. #Не использовать прокси
  28.         dns proxy = No
  29. #Интерфейсы, которые слушает демон
  30.         interfaces = 192.168.0.0/24
  31. #Разрешённые к коннекту подсети (отсутствие последней цифры означает что она может быть любой)
  32.         hosts allow = 192.168.0., 192.168.1.
  33.  
  34. #read / write share
  35. [secret]
  36.         path = /path/to/secret/readwrite/share
  37.         read only = No
  38.         valid users = username
  39.         create mask = 0740
  40.         directory mask = 0750
  41.         guest ok = no
  42.                
  43. #only read share               
  44. [public]
  45.         path = /path/to/public/readable/share
  46.         read only = Yes
  47.         valid users = username
  48.         guest ok = no

И самое главное не забыть дать нужные права к папкам с шарами

chmod 750 /path/to/share/samba

Ссылки

  1. HOWTO Samba в Gentoo