Главная > Операционные системы, Программное обеспечение > Домашний сервер на CentOS 6. Часть 3. Установка и настройка Samba.

Домашний сервер на CentOS 6. Часть 3. Установка и настройка Samba.

Сегодня установим Samba. Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Таким образом я смогу заходить на «расшареные» папки сервера и смотреть видео, слушать музыку напрямую, не копируя данные себе на компьютер. Приступим.


Установка Samba:

yum install samba

Конфигурационный файл у меня выглядит так:

/etc/samba/smb.conf

[global]
workgroup = WORKGROUP
server string = MyServer
netbios name = CentOS

# socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768
# socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=32768 SO_SNDBUF=32768
# socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=32768 SO_SNDBUF=32768
# socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536
# socket options = TCP_NODELAY SO_RCVBUF=131072 SO_SNDBUF=131072

# logs split per machine
log file = /var/log/samba/log.%m
# max 50KB per log file, then rotate
max log size = 50

security = share
browseable = yes
public = yes
guest account = nobody

load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes

interfaces = lo br0 192.168.0.0/24

[store]
comment = File Store
path = /home/store
browseable = yes
readonly = no
writable = yes
guest only = yes
guest ok = yes
public = yes

Хочу заострить внимание на параметрах socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768. Дело в том, что я смотрю по сети образы Blue-Ray, объем которых достигает 30Гб и выше, поэтому, при неправильно подобранном параметре или его отсутствии, могут наблюдаться лаги при воспроизведении видео, особенно файлы с расширением mkv. Не смотря на то, что видео лагает, копирование с Samba у меня достигает 90-100 Мб/с по гигабитному соединению. Таким образом параметр socket options нужно подбирать экспериментальным путем. После изменения параметра нужно перезапустить службу smb командой service smb restart.

Также лаги при просмотре видео с шары Samba могут наблюдаться в случае, если Samba работает достаточно длительное время без перезагрузки, поэтому нужно делать service smb restart, чтобы лаги исчезли. Вообщем, Samba странно работает, в этом плане, если не хотите таких проблем, то поднимайте NFS.

После того как конфиг уже лежит на месте, нужно поставить самбу (smb) и сервис (nmb) в автозагрузку. Простыми словами — сервис nmb нужен для того, чтобы сервер было видно в сетевом окружении других операционных систем, например Windows. Делаем автозагрузку:

chkconfig smb on
chkconfig nmb on
service smb start
service nmb start

Конфиг Samba написан так, что любого пользователя должно пускать на сервер в каталог store с полными правами. Но, в ОС CentOS есть такая штука, которая называется SELinux (Security-Enhanced Linux — Linux с улучшенной безопасностью). Если эта штука запущена, то Samba никого не пустит на шару. Поэтому рекомендую отключить этот SELinux, поправив файл /etc/selinux/config и изменив параметр SELINUX на disabled (SELINUX=disabled). После перезагрузки все должно работать без проблем.

На этом все, переходим к следующей части.

  1. Николай
    24 Март 2012 в 23:30 | #1

    благодарю — за (SELINUX=disabled).
    Долго не мог сообразить — почему в расшаренной директории видны только папки, и невидны никакие документы в них.

  2. across
    23 Апрель 2012 в 19:04 | #2

    когда продолжение уже ждать ?

  3. 25 Апрель 2012 в 14:49 | #3

    Материал написан, но его надо привести в порядок и опубликовать, пока на это нет времени. Но я постараюсь это сделать все равно в ближайшее время.

  4. Михаил
    10 Июль 2012 в 11:38 | #4

    я тоже долго не мог расшарить папки. папки видел, а доступа к ним не было. проблема решилась установкой нужных прав на папку:
    chcon -R-t samba_share_t /{путь_к_общему_ресурсу} -установка прав на папку для для общего доступа к ней через интернет
    после этого все заработало.

  5. алексей
    1 Август 2012 в 16:20 | #5

    застыла работа над сервером? я в данный момент и в сею секунду тоже пытаюсь заставить работать самбу, так на ваш ресурс и зашел.
    у меня при попытки зайти на самбу клиентом smbclient самба на сокет ругается, может кто чего подскажет?

    params.c:Parameter() — Ignoring badly formed line in configuration file: max 50KB per log file, then rotate
    params.c:Parameter() — Ignoring badly formed line in configuration file: browseable yes
    Unknown socket option SO_RCVBUUF
    Unknown socket option IPTOS_LOWDELAU
    session setup failed: NT_STATUS_LOGON_FAILURE

  6. 2 Август 2012 в 10:52 | #6

    алексей :

    застыла работа над сервером?

    Работа не застыла, написать времени нет. Скоро допишу все таки :)

    алексей :

    Unknown socket option SO_RCVBUUF
    Unknown socket option IPTOS_LOWDELAU

    Смотрите конфиг, что это за неизвестные переменные SO_RCVBUUF и IPTOS_LOWDELAU. Пишите правильно.

  7. Евгений
    23 Декабрь 2012 в 22:52 | #7

    ну ты давай пиши!)

  8. Ganisher
    4 Апрель 2016 в 18:09 | #8

    Михаил ты гений

  1. 10 Май 2015 в 21:16 | #1