PostHeaderIcon Настройка Samba для общего доступа к диску freebsd

Третья ветка samba снята с поддержки, авторы рекомендую использовать четвертую. Поэтому ознакомьтесь с этой статьей.
Сначала прочитайте, пожалуйста, вот это.
Задача простецкая: есть компьютер под управлением freebsd 7.2, на нем хранится масса разного контента, который надо расшарить по сети для клиентов под windows. Никаких доменов, AD и прочего.
Решается тоже просто, установкой и легкой настройкой samba.

cd /usr/ports/net/samba33
sudo make

В окне конфигурации не забываем отметить swat (зачем — расскажу позже).

sudo make install clean
правим /usr/local/etc/smb.conf

Собственно,  для решения задачи достаточно следующего (это мой рабочий конфиг):

# Samba config file
[global]
dos charset = CP866
unix charset = KOI8-R
workgroup = SKI_ELF_HOME
server string = selena
security = user
log file = /var/log/samba/log.%m
max log size = 50
dns proxy = No

[homes]
comment = Home Directories
read only = No
browseable = No

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No

[torrents]
comment = torrents
path = /usr/home/rtorrent/downloads
valid users = denis, natashka
read only = No
create mask = 0765
[homes]
comment = Home Cialis Directories
read only = No
browseable = No

Немного подробнее:
первые две строчки в секции Global позволяют нам нормально оперировать кириллицей в именах файлов, без них кириллические названия будут нечитаемыми либо во Freebsd, либо с точки зрения windows-клиентов.

workgroup — имя рабочей группы, в котором будет находится наша freebsd-машина.

server string — netbios имя сервера

security — тип разграничений прав пользователей при доступе к разделяемым ресурсам. Всего есть четыре типа: share, user, server, ad. Учитывая, что у нас нет ни доменов ни AD, нам подходят share и user. Первый тип — каждому разделяемому ресурсу назначается свой пароль, второй — каждому пользователю назначаются права на определенные ресурсы. Выбираем второй.

секция [torrents] описывает как раз тот раздел, который мне было необходимо раздать.
path = /usr/home/rtorrent/downloads
valid users = denis, natashka
read only = No

Первая строчка — путь к директории, вторая — пользователи, которым позволено работать с ресурсом, третья определяет, открыта ли директория только на чтение, или клиентам можно в нее писать. У меня запись разрешена.

После этих правок нужно в /etc/rc.conf добавить строчку

samba_enable="YES"
и можно стартовать самбу:

sudo /usr/local/etc/rc.d/./samba start

Теперь нам нужно завести пользователей, которые будут иметь возможность со всем этим делом работать. Для этого используем pdbedit:

pdbedit -a -u username

Где username — имя пользователя, которого мы заводим. Нас попросят ввести и повторить пароль. Пользователь должен быть заведен в системе,  поэтому ему сразу станет доступна по netbios его домашняя директория.

На этом, в общем-то и все, за одним исключением: в комплекте у самбы есть web-интерфейс, тот самый swat, котрым иногда очень удобно пользоваться. Мы уже установили самбу с его поддержкой, но чтобы он стал доступен, нужно внести правки еще в два файла. Во-первых, в /etc/services добавляем строчку

swat 901/tcp # samba web configuration tool

(кстати, у меня она уже была, видимо, самба при установке озаботилась).

Во вторых в /etc/inetd.conf добавляем

swat stream tcp nowait/400 root /usr/local/sbin/swat swat

(эта строчка тоже была, нужно было ее только раскомментировать)

После чего нужно перезапустить inetd

sudo kill -1 inetd_id

inetd_id получаем с помощью
ps ax |grep inetd
Теперь можно запустить браузер и зайти на

http://ip_freebsd_comp:901

и наслаждаться вебинтерфейсом к smb.conf :)

2 комментария на “Настройка Samba для общего доступа к диску freebsd”

  • argo-uln says:

    исправьте
    После этих правок нужно в /etc/rc.config добавить строчку
    на
    После этих правок нужно в /etc/rc.conf добавить строчку

  • skiangel says:

    Ага, спасибо, сейчас поправлю.

Оставить комментарий

PR-CY.ru