Понадобилось мне сделать домашнее хранилище для музыки, фильмов и всякой разнородной инфы. Итак, на сегодня задача следующая - настроить самбу, сделать шары и авторизацию пользователей. Настройка будет проводиться на ОС FreeBSD :).
Версия FreeBSD у меня следующая:
Идем в порты (обновляем их если нужно) и ставим самбу:
Я выбрал следующие опции:
Некоторые пояснения к конфигу:
Когда все готово, то можно добавить самбу в автозагрузку и запустить ее.
Проверяем работоспособность
В итоге должны получить что-то подобное:
Как видно все работает. Можно пользоваться :)
- # uname -a
- FreeBSD srv-home 6.4-RELEASE-p7 FreeBSD 6.4-RELEASE-p7 #0: Sat Oct 3 20:59:38 YEKST 2009 root@home.ru:/usr/obj/usr/src/sys/HAUNTED i386
- # cd /usr/ports/net/samba32
- # make install clean
- CUPS
- WINBIND
- ACL_SUPPORT
- QUOTAS
- UTMP
- POPT
- #======================= Global Settings =====================================
- [global]
- # Имя рабочей группы
- workgroup = HOME
- # Имя сервера в сети
- server string = Documents
- # NetBIOS имя
- netbios name = srv-home
- # Режим работы самбы. Возможные значения - share, user, server, domain и ads.
- # Многим пользователям обычно хватает режима - user
- security = user
- # Подсети, которым разрешен доступ к самбе
- hosts allow = 192.168.7. 127.
- # Загружать принтеры? Мне принтеры не нужны, я выключил эту опцию
- load printers = no
- printing = bsd
- #guest account = nobody
- # Путь к лог файлу. Я все отправляю в /dev/null, так samba работает чуток быстрее. Но для отладки логи нужны.
- #log file = /var/log/samba/log.%m
- log file = /dev/null
- log level = 0
- max log size = 50
- # Шифровать пароли
- encrypt passwords = yes
- # Определяем в каком хранилище будут хранится пароли
- passdb backend = tdbsam
- include = /usr/local/etc/smb.conf.%m
- # Оптимизация работы самбы, чуток добавляет скорости
- max xmit = 65535
- socket options = TCP_NODELAY SO_SNDBUF=32768 SO_RCVBUF=32768 SO_KEEPALIVE
- # Интерфейс, на котором будет работать самба
- interfaces = 192.168.7.250/24
- local master = yes
- domain master = yes
- preferred master = yes
- # Уровень ОС
- os level = 65
- # Разрешить netlogons?
- domain logons = no
- # Включить поддержку wins
- wins support = yes
- # Включить сервер времени
- time server = yes
- # Кодировка, в которой будут выводиться сообщения самбы в stdout и stderr
- display charset = cp866
- # Системная кодировка
- unix charset = koi8-r
- # Кодировка для DOS клиентов
- dos charset = cp866
- # Чувствительность к регистру
- case sensitive = no
- # Читать DOS атрибуты первыми?
- #store dos attributes = yes
- # Эти скрипты используются контроллером домена для работы с машинами, пользователями и группами
- #add machine script = /usr/local/bin/ldapaddmachine '%u' computers
- #add user script = /usr/local/bin/ldapadduser '%u' people
- #add group script = /usr/local/bin/ldapaddgroup '%g'
- #add user to group script = /usr/local/bin/ldapaddusertogroup '%u' '%g'
- #delete user script = /usr/local/bin/ldapdeleteuser '%u'
- #delete group script = /usr/local/bin/ldapdeletegroup '%g'
- #delete user from group script = /usr/local/bin/ldapdeleteuserfromgroup '%u' '%g'
- #set primary group script = /usr/local/bin/ldapsetprimarygroup '%u' '%g'
- #rename user script = /usr/local/bin/ldaprenameuser '%uold' '%unew'
- #============================ Share Definitions ==============================
- [homes]
- comment = Home Directories
- browseable = no
- writable = yes
- # NOTE: If you have a BSD-style print system there is no need to
- # specifically define each individual printer
- [printers]
- comment = All Printers
- path = /var/spool/samba
- browseable = no
- # Set public = yes to allow user 'guest account' to print
- guest ok = no
- writable = no
- printable = yes
- [Video]
- comment = Video
- path = /mnt/media/samba/video
- browseable = yes
- public = no
- writable = yes
- force user = smb_user
- force group = smb_read
- valid users = @smb_read, @smb_write
- write list = @smb_write
- read list = @smb_read
- [Music]
- comment = Music
- path = /mnt/media/samba/music
- browseable = yes
- public = no
- writable = yes
- force user = smb_user
- force group = smb_read
- valid users = @smb_read, @smb_write
- write list = @smb_write
- read list = @smb_read
- [Distrib]
- comment = Distrib
- path = /mnt/media/samba/distrib
- browseable = yes
- public = no
- writable = yes
- force user = smb_user
- force group = smb_read
- valid users = @smb_read, @smb_write
- write list = @smb_write
- read list = @smb_read
- [Wallpapers]
- comment = Wallpapers
- path = /mnt/media/samba/wallpapers
- browseable = yes
- public = no
- writable = yes
- force user = smb_user
- force group = smb_read
- valid users = @smb_read, @smb_write
- write list = @smb_write
- read list = @smb_read
- force user - это пользователь, под которым samba будет записывать данные в шары
- force group - тоже самое, только для группы
- valid users - пользователи и/или группы, которым разрешен доступ
- write list - пользователи и/или группы, которым разрешена запись в папку
- read list - пользователи и/или группы, которым разрешено чтение
- # mkdir /mnt/media/samba/video
- # mkdir /mnt/media/samba/music
- # mkdir /mnt/media/samba/distrib
- # mkdir /mnt/media/samba/wallpapers
- # chown smb_user:smb_write /mnt/media/samba/*
- # chmod 750 /mnt/media/samba/*
- # echo 'smbd_enable="YES"' >> /etc/rc.conf
- # echo 'nmbd_enable="YES"' >> /etc/rc.conf
- # /usr/local/etc/rc.d/samba start
- # sockstat | grep -E "smbd|nmbd"
- root smbd 967 20 tcp4 *:445 *:*
- root smbd 967 21 tcp4 *:139 *:*
- root nmbd 962 9 udp4 *:137 *:*
- root nmbd 962 10 udp4 *:138 *:*
Обсуждение статьи
пт, 28/08/2020 - 08:19
пт, 28/08/2020 - 12:07
пт, 28/08/2020 - 21:42
вс, 30/08/2020 - 01:39
чт, 27/08/2020 - 21:28
Добрый день. А можете пояснить, для чего в указанном примере нужен параметр "force group = smb_read" ?
Спасибо.