Samba: Создание файл-сервера


Мини-руководство "шаг за шагом"

Устанавливаем Samba из портов:

# cd /usr/ports/net/samba
# make install clean CLEANDEPENDS=Yes

Либо с помощью прекомпилированного пакета:

# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/
# pkg_add samba-3.0.13p0.tgz

Создаем расшаренные каталоги:

# mkdir -p /var/samba/{public,music}
# chmod 777 /var/samba/public

Редактируем smb.conf:

# vi /etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   netbios name = Server
   server string = Samba Server %v
   security = share
   hosts allow = 192.168.2. 127.
   load printers = no
   guest account = nobody
   guest ok = yes
   log file = /var/log/smbd.%m
   max log size = 1024
   interfaces = fxp1 lo0
;  bind interfaces only = yes
   local master = no
   os level = 1
   domain master = no
   preferred master = no
   wins support = no
   wins proxy = no
   dns proxy = no
   dos charset = cp866
   unix charset = koi8-r

[public]
   path = /var/samba/public
   comment = Share folder
   browseable = yes
   writable = yes
;  create mask = 0644
;  directory mask = 0775

[music]
   path = /var/samba/music
   comment = Music files
   browseable = yes
   writeable = no

Проверяем конфиг на наличие ошибок:

# testparm /etc/samba/smb.conf

Запускаем smbd и nmbd:

# /usr/local/libexec/smbd -D
# /usr/local/libexec/nmbd -D

Проверяем работоспособность:

# smbclient -U% -L localhost
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.13]

	Sharename       Type      Comment
	---------       ----      -------
	public          Disk      Share folder
	music		Disk	  Music files
	IPC$            IPC       IPC Service (Samba Server 3.0.13)
	ADMIN$          IPC       IPC Service (Samba Server 3.0.13)

Чтобы Samba автоматически запускалась при старте системы, внесем соответствующие изменения в /etc/rc.local:

# vi /etc/rc.local
if [ -x /usr/local/libexec/smbd ]; then
	echo -n ' smbd';	/usr/local/libexec/smbd -D
fi

if [ -x /usr/local/libexec/nmbd ]; then
	echo -n ' nmbd';	/usr/local/libexec/nmbd -D
fi


При необходимости можно воспользоваться SWAT - программой веб администрирования Samba:

# vi /etc/inetd.conf
901 stream tcp nowait.400 root /usr/local/libexec/swat swat

И перезагрузить конфигурацию inetd:

# kill -HUP `head -1 /var/run/inetd.pid`

Внимание: по умолчанию при использовании SWAT вся информация, в том числе и пароли, передается в открытом виде. Для обеспечения безопасности соединений необходимо дать указание stunnel принимать входящие SSL-соединения на 902 порту, расшифровывать данные и передавать их на порт 901.

# vi /etc/stunnel/stunnel.conf
[swats]
accept  = 902
connect = 901

Подробную информацию по настройке Stunnel можно получить из мини руководства "Stunnel: Шифрование TCP-соединений, используя SSL ".


OpenBSD.ru www@openbsd.ru
$RuOBSD: samba.html,v 1.19 2010/11/01 10:57:49 dinar Exp $