FreeBSD: установка и быстрая настройка сервера SAMBA

Автор: | 10/11/2012
 

Первым делом — обновляем порты:

# cd /usr/ports
# portsnap fetch update

Далее, находим актуальную версию Samba:

# cd /usr/ports/net/
# ls | grep samba

samba34
samba35
samba36

Приступаем к установке:

# cd /usr/ports/net/samba36

Из опций можно добавить With Syslogd:

Опции:

LDAP — поддержка LDAP.
ADS -поддержка Active Directory. Отключаем.
CUPS — поддержка сервера печати CUPS.
WINBIND — обьединение пользвателей Windows/Unix. Почитать можно тут>>>.
ACL_SUPPORT — поддержка Access Control List.
AIO_SUPPORT — поддержка возможности асинхронного ввода-вывода.
FAM_SUPPORT — API для мониторинга за состоянием файла или группы файлов/директорий.
SYSLOG — поддержка логирования syslog. Включаем.
QUOTAS — поддержка квотирования. Поскольку диски не резиновые, а пользователи жадные до дискового пространства — включаем.
UTMP — включаем поддержку уникального идентификатора для каждого вновь подключенного пользователя. Поскольку понижает производительность — выключаем.
PAM_SMBPASS — поддержка синхронизации системных пользователей и пользователей samba. В нашем случае неактуально, поэтому оставляем выключеным.
DNSUPDATE — поддержка динамического обновления DNS. Поскольку данный вариант работает с поддержкой Active Directory, что нам не нужно, то оставляем отключенным.
EXP_MODULES — поддержка експериментальных модулей. А нам нужна стабильность в работе.
POPT — поддержка системной библиотеки анализа коммандной строки.
PCH — предкомпиляционная оптимизация заголовков.
MAX_DEBUG — включение режима максимальной отладки.
SMBTORTURE — утилита для стресс-тестирования серверов.

Добавляем автозапуск при старте сервера. В файл /etc/rc.conf добавляем:

samba_enable=»YES»

Или:

nmbd_enable=»YES»
smbd_enable=»YES»

Теперь — добавим пользователя:

# adduser sambaroot
Username: sambaroot
Full name:
Uid (Leave empty for default):
Login group [sambaroot]:
Login group is sambaroot. Invite sambaroot into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: nologin
Home directory [/home/sambaroot]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : sambaroot
Password   : *****
Full Name  :
Uid        : 1002
Class      :
Groups     : sambaroot
Home       : /home/sambaroot
Home Mode  :
Shell      : /usr/sbin/nologin

Для каждого созданного пользователя — выполняем следующую команду, что бы SAMBA добавил его в собственную базу (в случае, если не используется MySQL или LDAP)

# smbpasswd -a sambaroot
New SMB password:
Retype new SMB password:
Added user sambaroot.

Проверить, какие пользователи есть в SAMBA можно командой:

# pdbedit -L
setevoy:1001:User &
sambauser:1003:User &

Теперь — пробуем запустить сервер:

# service samba onestart
Removing stale Samba tdb files: …… done
Starting nmbd.
Starting smbd.

Проверяем:

# service samba status
nmbd is running as pid 44633.
smbd is running as pid 44636.

Если появляется сообщение такого плана «nmbd is not running» — решение описано тут>>>.

В целом,  мой файл конфигурации получился таким:

[global]
workgroup = WORKGROUP
server string = Setevoy home samba server
security = user
load printers = no
log file = /var/log/samba/log.%m
max log size = 50
interfaces = re0
dns proxy = no
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866

[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes

guest ok = yes
write list = @wheel

[homes]
comment = Home Directories
browseable = no
read only = no

Краткое пояснение к опциям:

# comment — комментарий к ресурсу
# path — путь к каталогу, который необходимо «расшарить»
# browseable — будет ли каталог виден в «сетевом окружении», или будет скрытым
# writable — возможно ли записывать данные в этот сетевой ресурс
# valid users — список пользователей, которым разрешен доступ к данной шаре
# hosts allow — перечень IP, которым разрешен доступ к данной шаре

Ссылки по теме:

http://www.lissyara.su
http://allpro.com.ua
http://www.freebsd.org
http://muff.kiev.ua
http://www.linuxcenter.ru