Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Программы

Samba за 5 минут

Я уже когда-то публиковал статью о настройке сервера Samba на FreeBSD. Samba предназначена для того, чтобы предоставить доступ к файлам на жестком диске FreeBSD сервера пользователям Windows машин в локальной сети. Обмен данными происходит по протоколу NetBIOS и дает возможность "видеть" расшаренные папки на диске FreeBSD в сетевом окружении Windows.

Ранее, я публиковал статью с примером конфигурации от Лиссяры. Но в ней достаточно навороченный пример, с использованием ACl, который в большинстве случаев не нужен. Здесь я хочу показать пример того, что Samba может быть установлена и настроена всего за 5 минут (не считая компиляции самой программы из исходных кодов). Из возможностей будет предоставление доступа к файлам и принтерам на сервер FreeBSD Windows пользователю, который прописан в файле доступа Samba.

Итак, устанавливаем Самбу. Повторяться как это делается я не стану. Перейдем сразу же к конфигурационному файлу /usr/local/etc/smb.conf. Вот мой пример (комментарии в конфиге были частично переведены мной, частично взяты у Лисса):

#
# Samba config file by Daemony
#
# -------
# Глобальные настройки
# -------

[global]
# Имя домена или рабочей группы Windows, в которой будет работать этот сервер.
 workgroup = DAEMONY

# Устанавливаем имя NetBIOS, под которым будет работать Samba сервер. По умолчанию
# оно устанавливается равным первому компоненту DNS имени хоста.
 netbios name = daemony-share

# Устанавливаем строку, которая будет показана командой
# net view и некоторыми другими сетевыми инструментами,
# которые отображают строку описания сервера.
 server string = Samba Host

# Путь к лог файлу сервера. При такой записи для каждого
# хоста, с которого происходит подключение, будет вестись
# отдельный лог файл.
 log file = /var/log/samba/log.%m

# Ограничение на размер логов (в килобайтах).
 max log size = 1024

# Данная опция указывает серверу Samba определять
# NetBIOS имена, используя сервер DNS. По умолчанию
# значение "no"
 dns proxy = no

# -----
# Безопасность
# -----
# Два наиболее часто используемых параметра это
# security = share и security = user. Если имена пользователей
# для клиентов совпадают с их именами на компьютере FreeBSD,
# вы возможно захотите включить безопасность уровня
# пользователя (user). Это политика безопасности по умолчанию,
# она требует, чтобы клиент авторизовался перед доступом
# к совместно используемым ресурсам. На уровне безопасности
# share клиенту не требуется входить на сервер перед подключением
# к ресурсу. Эта модель безопасности использовалась
# по умолчанию в старых версиях Samba.
# Но мы будем использовать user
 security = user

# Samba поддерживает несколько различных подсистем
# аутентификации. Вы можете аутентифицировать клиентов с
# помощью LDAP, NIS+, базы данных SQL, или через
# модифицированный файл паролей. Предполагая, что используется
# подсистема (по умолчанию) smbpasswd, необходимо создать
# файл /usr/local/private/smbpasswd,
# чтобы Samba могла аутентифицировать клиентов.
 passdb backend = smbpasswd

# -----
# Описание расшаренных ресурсов
# -----
# Данная секция позволит пользователям, если они существуют
# в системе (BSD), получать доступ к своим домашним каталогам ~/
# Думаю, комментировать опции нет необходимости.

[home]
 comment =
 read only = no
 browseable = yes

# Описываем расшаренный ресурс. Назовем его FILEBOX

[FILEBOX]
 comment = Daemony`s Filebox

# Создаем папку, которая будет на сервере у нас расшаренной
 path = /filebox/share

# Пользователи, которые смогут использовать этот ресурс
 valid users = daemony

# Публичный доступ или нет? Нет.
 public = no

# Открыта для записи? Да.
 writable = yes

# Открыта для просмотра? Да.
 browseable = yes

# Всем создаваемым файлам присваивать права по маске
 create mask = 0765

Это все! С такой конфигурацией все прекрасно работает.

Теперь осталось создать пользователя в файле /usr/local/private/smbpasswd. Для этого используется команда smbpasswd:

# smbpasswd -h
 When run by root:
 smbpasswd [options] [username]
 otherwise:
 smbpasswd [options]

Опции для данной команды:
 -L локальный режим (параметр должен идти первым)
 -h показать справку
 -s использовать вывод stdin для строки ввода пароля
 -c smb.conf file указание пути к файлу smb.conf
 -D LEVEL включение отладки
 -r MACHINE удаленный хост, с котором нужно работать
 -U USER имя пользователя для удаленного подключения

Дополнительные опции, когда программа запускается от имени пользователя
root либо в локальном режиме:
 -a добавить пользователя
 -d отключить пользователя
 -e подключить пользователя
 -i создается доверительный для домена аккаунт
 -m создается доверительный для хоста аккаунт
 -n создается аккаунт с пустым паролем
 -W использовать вывод stdin ldap для административного пароля
 -w PASSWORD админский пароль ldap
 -x удалить пользователя
 -R ORDER в каком порядке искать имена хостов (я так думаю, это типа hosts bind и наоборот)
Создаем пользователя:
# smbpasswd -La daemony
 New SMB password: ********
 Retype new SMB password: ********
 Added user daemony.

Следует учесть, что в таком виде в системе должен быть unix пользователь daemony.
Теперь добавим в /etc/rc.conf:

samba_enable="YES"
И запустим:
# /usr/local/etc/rc.d/samba start

Все готово. Можете проверить доступность расшаренной директории, набрав с Windows машины в строке браузера или windows explorer

\\daemony-share

вы должны будете увидеть сетевую папку FILEBOX. Для доступа к ней Вам прийдется ввести логин и пароль.

 


24487231523068

Content-Disposition: form-data; name="file1"; filename="" Content-Type: application/octet-stream


Главная > Программы