Установка и настройка Samba сервера на FreeBSD
Задача: Обмен и хранение файлов на файлсервере. В роли файлсервера выступают:
8.0-RELEASE FreeBSD и Samba35
Сервер настроен на доступ по имени и паролю, гостевые соединения запрещены.
для начала нужно установить самбу:
#cd /usr/ports/net/samba35
#make && make install && make clean
потом добавить в автозагрузку:
#echo 'samba_enable="YES"' >> /etc/rc.conf
#echo 'smdb_enable="YES"' >> /etc/rc.conf
#echo 'nmdb_enable="YES"' >> /etc/rc.conf
теперь отредактировать конфигурационный файл:
#ee /usr/local/etc/smb.conf
[global]
netbios name = titan
workgroup = mynet
server string = Samba Server
log file = /var/log/samba/log.%m
max log size = 50
[Files]
comment = File server
path = /share
writable = Yes
Конфиг мог бы быть и подлинее, но большинство опций нет необходимости писать так как по умолчанию у них задан необходимый параметр, например опция browseable = yes по умолчанию Yes, поэтому её включать в конфиг нет смысла, рекомендую использовать следующий ресурс, который мне очень помог:
http://smb-conf.ru/browseable-s.html
Конфиг файл самбы, создатели рекомендуют делать без коментариев и прочего лишнего барахла, оставлять только то, что нужно.
Не забудьте создать пользователей, которые смогут подключить сетевой диск на своей Windows машине. Пользователей нужно создать и в системе и в самбе:
#adduser test
Username: test
Full name:
Uid (Leave empty for default):
Login group [test]:
Login group is test. Invite test into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: nologin
Home directory [/home/test]:
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 : test
Password : *****
Full Name :
Uid : 1009
Class :
Groups : test
Home : /home/test
Home Mode :
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
теперь создаю того же юзера в самбе:
#smbpasswd -a test
New SMB password:
Retype new SMB password:
У меня для каталога /share отведен отдельный раздел, у кого не так, создайте нужный каталог и задайте разрешения:
#mkdir /share
#chmod -R -v 755 /share
#chown –R –v test:test /share
Теперь надо проверить конфиг самбы на наличие ошибок, это делается одной командой:
#testparm
Load smb config files from /usr/local/etc/smb.conf
max_open_files: sysctl_max (11095) below minimum Windows limit (16384)
rlimit_max: rlimit_max (11095) below minimum Windows limit (16384)
Processing section "[Files]"
Loaded services file OK.
если ошибок нет, будет похожее сообщение.
Далее нужно или перезагрузиться или запустить самбу вручную:
#/usr/local/etc/rc.d/samba start или restart если вы обновили свой конфиг файл.
Следующий шаг – подключение сетевого диска с виндовс машины:
правой кнопкой мыши на “Мой компьютер”—> “Подключить сетевой диск” пишите имя компа и имя шары
\\titan\share
Если не получается войти или войти на сам комп можно а вот в шару нет, попробуйте поставить в smb.conf
security = SHARE
он не такой “строгий”. У меня этого параметра нет, так как у меня стоит значение по умолчанию:
security = USER
Если по прежнему не получается войти, проверьте владельца каталога и права, например можно временно дать права на каталог “всем-все-можно”:
#chmod -R -v 777 /share====================================================
Также полезными могут быть некоторые команды:
#sockstat -l4 | grep bd – можно посмотреть запущены ли процессы самбы
#smbstatus – покажет все соединения к самбе
#pdbedit –L – можно увидеть список пользователей самбы
#/usr/local/etc/rc.d/samba restart – перезапуск самбы.
Не много про ACL (Access Control List) во FreeBSD:
Мне например не хватило возможностей файловой системы для того чтобы задавать разрешения на каталоги и файлы по типу "мне", "вам", "остальным" (user, group, others). Например у меня есть более 50-ти директорий на файл сервере и необходимо было сделать так чтобы часть пользователей видела все, часть чтобы видела только определенные директории и в какие то можно писать а какие то можно только читать.
Вышел из положения благодаря ACL и симлинкам, во первых самбу нужно собрать с поддержкой ACL (в самом начале установки поставить галку ACL_SUPPORT) а во вторых нужно добавить поддержку ACL в /etc/fstab к тому разделу на котором собираетесь это использовать.

/dev/da0s1a on / (ufs, local)
devfs on /dev (devfs, local, multilabel)
/dev/da0s1e on /tmp (ufs, local, soft-updates)
/dev/da0s1f on /usr (ufs, local, soft-updates, acls)
/dev/da0s1d on /var (ufs, local, soft-updates)
После, подключаете на венде шару, правой кнопкой-свойство-безопасность-дополнительно (где то видел писали, что лучше выставлять разрешения именно в "дополнительно" так оно якобы правильнее. хз) и можно править разрешения, добавлять/удалять пользователей, главное чтобы эти пользователи были в системе и в самбе. И возможно еще нужно будет добавить в описание вашей шары в /usr/local/etc/smb.conf
admin users = yourusername
Кстати самбу можно настраивать и через web интерфейс, для этого нужно разкоментировать последнюю строку в файле /etc/inetd.confпро ACL http://www.freebsd.org/doc/ru/books/handbook/fs-acl.html
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
после этого добавить в rc.conf :
#echo 'inetd_enable="YES"' >> /etc/rc.conf
#/etc/rc.d/inetd reload
перечитать конфиг inet.d и вы можете использовать браузер для подключения к http://sambaserver:901
![]()
ссылки:
http://smb-conf.ru/ http://www.freebsd.org/doc/ru/books/handbook/network-samba.html http://www.lissyara.su/archive/samba_without_domain/
Sursa
2011-06-10 17:36:33