Автор: lissyara.
Оригинал: http://www.lissyara.su/archive/samba_without_domain/
SAMBA - если упрощённо - то это приложение позволяющее общаться по сети машинам с UNIX-подобной (FreeBSD, SunOS, Linux...) операционной системой с машинами на которых стоит Windows. Можно будет с виндовой машины видеть в "сетевом окружении" машину с FreeBSD, заходить на её расшаренные папки, копировать-удалять-изменять файлы. У меня на старой работе под третьей самбой был файл сервер. У пользователей Win2000 - так вот с машиной под фрёй было меньше всего проблем с сетью... А вот сервак под win2000 постоянно плющщило - то в DNS ничё найти не может, то ещё что... Кстати - хотя машина под фряхой была слабее, файлы она отдавала по сети гораздо шустрей, чем более мощная под форточками./root/>cd /usr/ports/net/samba3/
/usr/ports/net/samba3/>make && make install && make clean
Вылазиет синее окошко с кучей опций. Вообще, у третьей самбы стало немеряно возможностей, но в данном случае нам это богатство не нужно - я делаю просто общую шару между фряхой и форточными машинами. Выбираем:
SYSLOG - With Syslog support
POPT - With installed POPT library
Вот, что в нынешних портах стало хорошо - они подсказывают, как переконфигурить, если навыбирал нетого, и оно не собирается, или начинает тащить за собой кучу явно ненужного хламу===> Found saved configuration for samba-3.0.20b,1
===> -------------------------------------------
===> Run 'make config' to (re)configure the port
===> -------------------------------------------
Феня про make config - вещь неявная, и первый раз, я долго ковырялся, в итоге пришлось топать в /var/db/ports/samba3 и править там. В итоге, качается собсьвенно, samba - 16 мег, и собирается. После чего конфигурим. Для запуска топаем в /etc и правим rc.conf, куда добавляем две строки:nmbd_enable="YES"
smbd_enable="YES"
и запускаем: /etc/>cd /usr/local/etc/rc.d
/usr/local/etc/rc.d/>./samba.sh start
./samba.sh: WARNING: /usr/local/etc/smb.conf is not readable.
/usr/local/etc/rc.d/>
Облом :) smb.conf не нашёл. Сделаем: /usr/local/etc/rc.d/>cp ../smb.conf.default ../smb.conf
/usr/local/etc/rc.d/>./samba.sh start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.
/usr/local/etc/rc.d/>
Вообще, правильней, конфигурить через /usr/local/etc/smb.conf, но можно и воспользоваться WEB-интерфейсом - SWAT./usr/local/etc/rc.d/>cd /etc/
/etc/>ee inetd.conf
где раскомментируем одну строчку (у меня она последняя)swat stream tcp nowait/400 root /usr/local/sbin/swat swat
и даём команду inetd перечитать свой конфиг /etc/>killall -1 inetd
/etc/>sockstat | grep 901
root inetd 80 6 tcp4 *:901 *:*
/etc/>
После чего можно заходить браузером на эту машину на http://ip_samba_comp:901/ и конфигурить. Имя пользователя и пароль - root от этой машины. В, общем-то там всё понятно и логично. Единственно - для вступления изменений в силу надо не забывать перезапускать самбу - что можно делать оттуда же, с WEB-интерфейса.
После всего, не забываем закомментировать обратно строку в ined.conf, сделать killall -1 inetd. Да и фарволлом порты 137-139 и 445 по TCP прикрыть неплохо бы было снаружи... У меня получился такой smb.conf:# Samba config file
[global]
workgroup = MY_WORKGROUP
netbios name = FREEBSD
server string = FreeBSD server on my network
interfaces = xl0
security = SHARE
log file = /var/log/samba/log.%m
max log size = 50
dns proxy = No
# мало представляю причём тут DOS :)
dos charset = 866
# кодировка, в которой храннятся имена файлов на
# локальной машине - для того чтобы не было крякозябр,
# в именах файлов при просмотре из-под консоли
unix charset = koi8-r
# в какой кодировке имена показываются клиентам
display charset = 866
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[usr_local_www]
path = /usr/local/www
read only = No
guest ok = Yes
Вообще, имена шарам, можно давать и по русски. Она прекрасно это переваривает.
P.S. SWAT`ом особо не увлекайтесь. Я им пользуюсь тока для начального конфигурения. Потом - руками.