Samba - установка и настройка: различия между версиями

Материал из AlexNook
Перейти к навигацииПерейти к поиску
Строка 6: Строка 6:
Для установки в Gentoo воодим:
Для установки в Gentoo воодим:


USE="acl automount kerberos pam swat syslog"  emerge samba
{{root|<nowiki>USE="acl automount kerberos pam swat syslog"  emerge samba</nowiki>}}


При этом используются следующие USE флаги:
При этом используются следующие USE флаги:
{{USEFlag|extended=yes|
{{EnableFlag|acl}}
{{EnableFlag|automount}}
{{EnableFlag|kerberos}}
{{EnableFlag|pam}}
{{EnableFlag|swat}}
{{EnableFlag|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
* '''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
* '''automount''' - Enables automount support
Строка 20: Строка 29:
Далее добавим его в автозагрузку:
Далее добавим его в автозагрузку:


rc-update add xinetd default
{{root|rc-update add xinetd default}}


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


nano /etc/xinetd.d/swat
{{root|nano /etc/xinetd.d/swat}}


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

Версия 12:10, 26 ноября 2012

Логотип Samba

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

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

Установка

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

service swat 
{ 
       port            = 901 
       socket_type     = stream 
       protocol        = tcp
       wait            = no 
       only_from       = localhost 
       user            = root 
       server          = /usr/sbin/swat 
       log_on_failure += USERID 
       disable         = no
}


Так же я исправил опцию 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)

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

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

# Samba config file created using SWAT
# from 192.168.0.104 (192.168.0.104)
# Date: 2008/09/05 17:00:49
;Глобальные настройки
[global]
;рабочая группа домашней виндовой сети
        workgroup = FRC
;Название которое отображается в заголовке окна при заходе на сервер (%v - версия самбы)
        server string = Router_a - Samba v. %v 
;Интерфейсы, которые слушает демон
        interfaces = 192.168.0.0/24, 192.168.1.0/24
;Говорит о типе доступа на сервер - у нас это будет простая "шара"
        security = SHARE
;Степень подробности логов (от 1 до 10) 
        log level = 3 
;Путь куда логи сохраняем - %m это имя хоста зашедшего на сервер
        log file = /var/log/samba/log.%m 
; Максимальный размер лога в килобайтах
        max log size = 10000 
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
;Как я понял винда очень не любит когда кто-то выступает в роли мастера и завладевает конектом кроме неё самой
        preferred master = No
        local master = No
; Не использовать прокси
        dns proxy = No
;Разрешённые к коннекту подсети (отсутствие последней цифры означает что она может быть любой)
        hosts allow = 192.168.0., 192.168.1. 

;Настройки для публичных конектов к папке public
[public]
;Путь к шаре
        path = /mnt/samba
;Разрешаем читать писать и исполнять файлы 
        read only = No 
;Вход только для гостей (user nobody)
        guest only = Yes 
        guest ok = Yes

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

chmod 777 /mnt/samba

Ссылки

  1. HOWTO Samba в Gentoo