Samba-сервер позволяет просматривать предоставленные в общий доступ папки на серверах через локальную сеть.
- Условия и исходные данные: Наш сервер выполняет две роли: предоставляет папки для доступа через сеть и является главным браузером в для домашней windows-сети.Интерфейс, на котором будет работать samba: re0 – карта, которая смотрит в домашнюю сеть, с ip-адресом 192.168.1.3
- Использованные версии ПО:
# uname -sr FreeBSD 10.1-RELEASE
# pkg search samba samba36-3.6.25_1
- Установка из портов
# cd /usr/ports/net/samba36 # make install clean
В опциях выбираем:
[ ] LDAP With LDAP support [ ] ADS With Active Directory support [ ] CUPS With CUPS printing support [ ] WINBIND With WinBIND support [ ] SWAT With SWAT WebGUI [*] ACL_SUPPORT With ACL support [*] AIO_SUPPORT With Asyncronous IO support [*] FAM_SUPPORT With File Alteration Monitor [*] SYSLOG With Syslog support [*] QUOTAS With Disk quota support [*] UTMP With UTMP accounting support [ ] PAM_SMBPASS With PAM authentication vs passdb backends [ ] DNSUPDATE With dynamic DNS update(require ADS) [*] AVAHI With Bonjour service discovery support [*] PTHREADPOOL With pthread pool [ ] EXP_MODULES With experimental modules [*] POPT With system-wide POPT library [ ] IPV6 With IPv6 support [ ] MAX_DEBUG With maximum debugging [ ] SMBTORTURE With smbtorture
- ИЛИ установка из пакетов
# pkg install samba36-3.6.25_1
- Первоначальная настройка/etc/rc.conf:
samba_enable="YES"
- Настройка/usr/local/etc/smb.conf
Удаляем все из файла и пишем туда своё:[global] # имя рабочей группы, в нашем случае HOME workgroup = HOME # название нашего сервера в windows-сети netbios name = SERVER # строка с описанием сервера server string = Home server # права на доступ задаются индивидуально для каждой папки security = SHARE # интерфейс, на котором работает samba, дабы не светиться в интернете interface = re0 bind interfaces only = yes # кому можно подключаться, задаем локальный ip и ip из домашней подсети hosts allow = 127. 192.168.1. # некоторая оптимизация. Внимание! У некоторых это дает скорость в работе, а у некоторых # наоборот, замедление! socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 # безоговорочно становимся главным браузером для домашней сети local master = yes domain master = yes preferred master = yes os level = 255 wins support = yes # нам всё это не нужно, потому ставим no load printers = no dns proxy = no wins proxy = no ldap ssl = no unix extensions = no logfile = /var/log/samba/log.%m max log size = 500 # кодировка, в которой отдаются имена файлов клиентам dos charser = CP1251 # исходная кодировка имен файлов на сервере unix charset = UTF-8 # ниже два важных параметра, позволяющие отдавать файлы, # которые представлены на сервере в виде ссылок follow symlinks = yes wide links = yes # здесь задаем папки, предоставляемые в доступ # название папки при просмотре через сеть [media] # абсолютный путь к папке на сервере path = /home/media # разрешен гостевой доступ public = yes # видимость папки # yes - папка видна с списке папок сервера через сеть # no - в списке папок не видна, но все равно доступна browseable = yes # все пользователи могут писать в папку через сеть writable = yes # пример папки с доступом только на чтение [read] path = /home/private public = yes browseable = yes read only = yes
- Запуск
# /usr/local/etc/rc.d/samba start
- Делаем доступ к папке по имени и паролю
samba для доступа к папкам позволяет задать пользователя и пароль, которые хранит в своей базе.
– чтобы добавить пользователя в samba, делаем следующее:# smbpasswd -a username
добавляем пользователя username, при добавлении у нас спросят пароль.
– добавляем описание папки в /usr/local/etc/rc.d/smb.conf
[username] path = /home/username/folder # папка не видна в списке папок сервера, но при этом доступна public = no browseable = no writable = yes valid uses = skull
– перезагружаем самбу
# /usr/local/etc/rc.d/samba restart