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

Материал из AlexNook
Перейти к навигацииПерейти к поиску
Строка 4: Строка 4:


==Установка==
==Установка==
{{note|Следует обратить внимание на классную статью по настройке самбы под Генту вот [http://en.gentoo-wiki.com/wiki/Samba тут]}}


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


{{root|<nowiki>USE="acl automount kerberos pam swat syslog"  emerge samba</nowiki>}}
Сперва вносим USE флаги в конфиг:
{{file|/etc/portage/package.use/samba|
<syntaxhighlight lang="apache" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div">
net-fs/samba acl aio netapi pam readline syslog winbind
</syntaxhighlight>
}}
 
{{note|Я так же использовал флаг server, но он у меня был установлен глобально. Флаг нужен для активации работы самбы в режиме сервера}}


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


{{USEFlag|extended=yes|
{{USEFlag|extended=yes|
Строка 20: Строка 25:
{{EnableFlag|syslog}}}}
{{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''' - 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
* '''aio''' - Enable asynchronous IO support
* '''kerberos''' - Adds kerberos support for authentication to AD
* '''netapi''' - Enable building of netapi bits
* '''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
* '''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)
* '''readline''' - Link Samba against libreadline. This is highly recommended and should probably not be disabled.
* '''server''' - Enables the server part
* '''syslog''' - для логирования
* '''syslog''' - для логирования
* '''winbind''' - Winbind allows for a unified logon within a Samba environment. It uses a Unix implementation of Windows RPC calls, PAM and the name service switch (supported by the c library) to enable Windows NT domain users to appear and work as Unix users on a Unix system.


При этом автоматом поставится пакет '''sys-apps/xinetd'''. Если нет, то его необходимо установить ('''emerge xinetd''').
Для установки в Gentoo воодим:
 
{{root|emerge samba}}
Далее добавим его в автозагрузку:
 
{{root|rc-update add xinetd default}}
 
Далее правим конфиг Swat, где включаем его (по умолчанию он выключен):
 
{{root|nano /etc/xinetd.d/swat}}
 
Обратите внимание на опцию '''disable = yes''' которую надо исправить в соответствии с моим конфигом:
 
{{file|/etc/xinetd.d/swat|
<syntaxhighlight lang="apache" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div">
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
}
</syntaxhighlight>
}}
 
Так же я исправил опцию '''only_from''' для указания интерфейса который будет слушаться. При указании '''0.0.0.0''' - будут слущаться все интерфейсы. По умолчанию стоит '''localhost'''. Так же можно изменить и порт - '''port'''.
 
После этого выполним следующую команду, которая позволит установить пароль для пользователя root для самбы:
 
{{root|smbpasswd -a root}}
 
Далее логинимся по адресу http://localhost:901 и, введя пароль и логин root'а настраиваем самбу через веб!
 
{{Note|Для использования NetBIOS'а Windows'ом возможно иммет смысл поправить строку в файле  {{file|/etc/nsswitch.conf|<pre>hosts: files dns wins</pre>}}, добавив туда слово '''wins''' }}


==Настройка сервера==
==Настройка сервера==
В первый раз ИМХО есть смысл настроить сервер врчуную через конфиг, а потом уже управлять им и подстраивать его можно будет через веб интерфейс Swat.
Для использования NetBIOS'а Windows'ом возможно иммет смысл поправить строку в файле 
{{file|/etc/nsswitch.conf|<pre>hosts: files dns wins</pre>}}
добавив туда слово '''wins'''


Для начала скопируем полностью пример конфигурационного файла с коментариями в папку, где должен находится рабочий конфиг.
Для начала скопируем полностью пример конфигурационного файла с коментариями в папку, где должен находится рабочий конфиг.
Строка 73: Строка 46:
{{root|cp /etc/samba/smb.conf.example /etc/samba/smb.conf}}
{{root|cp /etc/samba/smb.conf.example /etc/samba/smb.conf}}


В данном файле всё очень подробно прокоментированно, так что есть смысл дочитать его до конца. Если всё же что-то будет не ясно или не до конца понятно то милости просим в страницы мана:
или сразу создадим кофиг командой
{{root|nano -w /etc/samba/smb.conf}}
 
В файле {{path|/etc/samba/smb.conf.example}} всё очень подробно прокоментированно, так что есть смысл дочитать его до конца. Если всё же что-то будет не ясно или не до конца понятно то милости просим в страницы мана:


{{root|man smb.conf}}
{{root|man smb.conf}}

Версия 19:03, 1 ноября 2015

Логотип Samba

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

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

Установка

Сперва вносим USE флаги в конфиг:

File: /etc/portage/package.use/samba
net-fs/samba acl aio netapi pam readline syslog winbind
Note: Я так же использовал флаг server, но он у меня был установлен глобально. Флаг нужен для активации работы самбы в режиме сервера

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

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

  • acl - 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.
  • aio - Enable asynchronous IO support
  • netapi - Enable building of netapi bits
  • 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.
  • readline - Link Samba against libreadline. This is highly recommended and should probably not be disabled.
  • server - Enables the server part
  • syslog - для логирования
  • winbind - Winbind allows for a unified logon within a Samba environment. It uses a Unix implementation of Windows RPC calls, PAM and the name service switch (supported by the c library) to enable Windows NT domain users to appear and work as Unix users on a Unix system.

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

emerge samba

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

Для использования NetBIOS'а Windows'ом возможно иммет смысл поправить строку в файле

File: /etc/nsswitch.conf
hosts: files dns wins

добавив туда слово wins

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

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

или сразу создадим кофиг командой

nano -w /etc/samba/smb.conf

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

man smb.conf

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

/etc/init.d/samba start


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

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

rc-update add samba default

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

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

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

File: /etc/samba/smb.conf
# Samba config file created using SWAT
# from 192.168.0.104 (192.168.0.104)
# Date: 2008/09/05 17:00:49

#Глобальные настройки
[global]
        netbios name = Router_a
#рабочая группа домашней виндовой сети
        workgroup = FRC
#Название которое отображается в заголовке окна при заходе на сервер (%v - версия самбы)
        server string = Router_a
#Говорит о типе доступа на сервер. SHARE - это простая "шара", USER - для доступа по реквизитам логин/пароль
#       security = SHARE
        security = User
#Всех гостей интерпритируем как не верных юзеров		
        map to guest = Bad User
#Степень подробности логов (от 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
#Интерфейсы, которые слушает демон
        interfaces = 192.168.0.0/24
#Разрешённые к коннекту подсети (отсутствие последней цифры означает что она может быть любой)
        hosts allow = 192.168.0., 192.168.1.

#read / write share
[secret]
        path = /path/to/secret/readwrite/share
        read only = No
        valid users = username
        create mask = 0740
        directory mask = 0750
        guest ok = no
		
#only read share		
[public]
        path = /path/to/public/readable/share
        read only = Yes
        valid users = username
        guest ok = no

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

chmod 750 /path/to/share/samba

Ссылки

  1. HOWTO Samba в Gentoo