Дать доступ к ресурсам, расположенным на FreeBSD-сервере, клиентам с операционной системой от M$ посредством Samba-сервера (протокол SMB/CIFS). Доступ должен предоставляться по логину/паролю хранящихся в самой samb’e, а не в разных протоколах для доступа к службам каталогов.
Задача такого уровня, можно сказать, простая, но с ней сталкиваются довольно часто(особенно дома), тем более она актуально не только для FreeBSD, но и для других Unix-like систем.
Приступим.
Ставим samba34:
#root cd /usr/ports/net/samba34
make config

Выбираем опции:
Options for samba34 3.4.9
[ ] LDAP With LDAP support
[ ] ADS With Active Directory support
[ ] CUPS With CUPS printing support
[X] WINBIND With WinBIND support
[X] SWAT With SWAT WebGUI
[ ] ACL_SUPPORT With ACL support
[ ] AIO_SUPPORT With Asyncronous IO support
[ ] FAM_SUPPORT With File Alteration Monitor
[X] SYSLOG With Syslog support
[ ] QUOTAS With Disk quota support
[ ] UTMP With UTMP accounting support
[ ] PAM_SMBPASS With PAM authentication vs passdb backends
[ ] DNSUPDATE With dynamic DNS update(require ADS)
[ ] AVAHI With Bonjour service discovery support
[ ] EXP_MODULES With experimental modules
[X] POPT With system-wide POPT library
[ ] MAX_DEBUG With maximum debugging
[ ] SMBTORTURE With smbtorture

ставим:
#root make BATCH=yes -C/usr/ports/net/samba34 install clean
rehash

в /etc/rc.conf добавляем:
samba_enable=»YES»

конфигурационный файл самбы /usr/local/etc/smb.conf:

#======================= Global Settings =====================================
[global]

# WORKGROUP — название рабочей группы
workgroup = WORKGROUP

# server string -комментарий к серверу, который будет
# виден клиентам, например в проводнике.
server string = vbpc003 smb

# security = user — включаем авторизацию по логину и паролю.
security = user

# hosts allow — разрешить доступ только в указаных подсетях
hosts allow = 10.36.1. 192.168.1. 127.

# load printers = no — не показывать принтеры
load printers = no

# log file — файл журнала
log file = /var/log/samba/log.%m

# max log size — максимальный размер журнала
max log size = 50

# local master = no - говорим демону nmbd не пытаться стать
# локальным мастер-браузером. Да и вообще, домена не будет, поэтому
local master = no
domain master = no

# Запрещаем nmbd делать запросы к DNS
dns proxy = no

#================== Открытые ресурсы ==================

# resurs_01 — название открываемого ресурса
[resurs_01]
# comment — комментарий к ресурсу, будет виден пользователям в проводнике m$
comment = resurs_01

# path — открываемая для доступа директория
path = /путь/до/resurs_01

# browseable = yes — отображать ресурс в списке доступных ресурсов.
browseable = yes

# writable = no - запретить запись в открытую директорию
writable = no

# guest ok = no — запретить гостям ходить в resurs_01
guest ok = no

# resurs_02 — не видим в проводнике, попасть туда можно
# явно написав полный путь (\\ip_pc\resurs_02).
# Запрещена запись в resurs_02
# и гостю в доступе отказано.
[resurs_02]
comment = resurs_02
path = /путь/до/resurs_02
browseable = no
writable = no
guest ok = no

# resurs_03 — виден в проводнике,
# запись разрешена
# гостям вход разрешён
[resurs_03]
comment = RW resurs_03
path = /путь/до/resurs_03
browseable = yes
writable = yes
guest ok = yes

стартуем самбу:
#root /usr/local/etc/rc.d/samba start

после внесения изменений в #root /usr/local/etc/smb.conf самбу надо всегда рестартовать:
#root /usr/local/etc/rc.d/samba restart

авторизация для доступа на ресурс samba будет производиться по логину и паролю.
создаём пользователей в самбе через smbpasswd (выполняем от root’a):
#root smbpasswd -a administrator
New SMB password:
Retype new SMB password:
Added user administrator.

Учётная запись с именем administrator будет внесена в базу пользователей самбы.
Для отключения учётной записи в самбе:

smbpasswd -d administrator
Disabled user administrator.Для включения отключённой учётной записи:
smbpasswd -e administrator
Enabled user administrator.Для удаления пользователя из базы samb’ы:
smbpasswd -x administrator
Deleted user administrator.Посмотреть активные подключения:
smbstatus 

 

Примечание:
1) не забываем про порты с 137 по 139 в фаерволе для samb’ы, они должны быть открыты.2) и ещё не забываем про доступ на уровне файловой системы: Если вы открываете через samb’у, например, /путь/до/resurs_03 на запись для пользователя administrator, то этот же пользователь должен иметь права на запись в /путь/до/resurs_03 во FreeBSD. Так как пример наипростейший(домашний вариант, так сказать), то можно сделать в консоли:
chmod 0777 /путь/до/resurs_03
(тоесть дать полный доступ на /путь/до/resurs_03 всем пользователям freebsd) и раздавать права на уровне samb’ы.Всё изложенное выше – это минимум для организации домашней файлопомойки клиентам с операционной системой от m$ с авторизацией для доступа. 

 

 

Поделитесь со своими друзьями!

Опубликовать в Одноклассники
Опубликовать в Мой Мир
Опубликовать в Яндекс
Опубликовать в Google Plus
Опубликовать в Google Buzz
Опубликовать в LiveJournal