Раздел: Админство

Быстрая настройка Samba

В этой статье я расскажу, как можно быстро настроить Samba. Идея такова — быстро сделать из Archlinux файловый сервер с админским веб-интерфейсом SWAT.
И так, для настройки файлового сервера я использовал Archlinux базовой комплектации. Для настройки самбы делаем всё по пунктам:

1. Добавление пользователей.
Если в системе ещё нет пользователей, которые будут использовать файловые ресурсы, их необходимо добавить.

useradd -m -s /bin/bash slava

пароль на пользователя задаётся так:
passwd slava

Альтернативным вариантом является использование команды adduser. В этом случае, необходимо будет ответить на некоторые вопросы системы в интерактивном режиме.

2. Назначаем этому юзеру пароль на вход по шаре (да, это не винда, пароль для аутентификации в системе и пароль для аутентификации по самбе — это разные вещи).

smbpasswd -a slava

3. Создаём папку, которую будем делать доступной по сети. например:
mkdir /home/sharefolder

4. Устанавливаем самбу.

Для начала рекомендую сделать обновление списка пакетов:
pacman --sync --refresh
или
pacman -Sy

Установка самой самбы:
pacman -S samba
менеджер пакетов определит всё, что необходимо загрузить и спросит у вас согласия на установку:

5. Настраиваем самбу.
После установки самбы файл исходных настроек (конфиг) находится по адресу /etc/samba/smb.conf.default
Необходимо его переименовать или скопировать (лучше — скопировать), чтобы он назывался smb.conf:
cp /etc/samba/smb.conf.default /etc/samba/smb.conf
Далее, открываем его текстовым редактором (Я использую vi. В нём нет ничего сложного, базовые команды можно найти в гугле).
В этом файле необходимо изменить некоторые параметры.
Вместо MyWorkGroup в соответствующей строке необходимо вписать имя рабочей группы, в которой используется компьютер.
workgroup = MyWorkGroup
Описание компьютера:
server string = Samba Server
Хочу заметить, что это не имя компьютера! Имя компьютера задаётся в файле /etc/rc.conf в параметре hostname.
Уровень безопасности в файле оставляем по умолчанию — user:
security = user

В самом конце файле (т.е. в разделе Share Definitions) мы описываем зашаренные папки. Там присутствует закомментированный пример:

Описываем по аналогии нашу папку, которую мы хотим зашарить(просто дописываем в конце файла):

[My Share]
comment = My share
path = /home/sharefolder
valid users = slava
public = no
writable = yes
printable = no
create mask = 0775

Здесь:
My Share — так будет называться папка, которую видно по сети (не обязательно, чтобы её название совпадало с реальной папкой, которая зашарена, т.е. /home/sharefolder).
Comment — описание папки, ни на что не влияет.
Path — путь к папке, которую мы расшариваем.
Valid users — Список пользователей для доступа к папке. Если их несколько, перечисляются через пробел.
writable — разрешение на запись. Если стоит параметр «no», значить запись запрещена для всех.
printable — может ли использоваться ресурс для печати.
public — разрешение на печать для гостя. должно использоваться совместно с printable=yes.
create mask — задаёт права, с которыми будут создаваться файлы в этой директории.
Так же можно добавить следующие параметры:
Разрешение на запись группе пользователей:
write list = @groupname
Невидимость ресурса в браузере:
browseable = no
Назначение пользователя админом для шары (т.е. пользователь будет иметь те же права, что и root):
admin users = username
Собственно, есть ещё куча опций для настройки шары, но для базовой настройки сервера они нам не нужны.
Сохраняем, закрываем.

чтобы запустить самбу, выполняем команду:
/etc/rc.d/samba start

Если мы хотим, чтобы самба запускалась при включении системы, необходимо добавить её в файл /etc/rc.conf в раздел DAEMONS:

Посмотреть на результат трудов можно зайдя на шару по айпишнику нашего сервера, и введя данные одного из valid users:

Однако, мы видим там не только нашу папку My Share, но и домашнюю папку пользователя, зашаренную по умолчанию. Настроить отображение этот папки можно так же в /etc/smb/smb.conf в разделе [homes], но вы это сделаем чуть позже из нашей веб-морды.

6. Настраиваем Samba Web Admin Tool (SWAT)
Сперва устанавливаем xinetd:
pacman -S xinetd

далее, редактируем файл /etc/xinetd.d/swat
его содержание должно быть следующим:


service swat
{
type = UNLISTED
protocol = tcp
port = 901
socket_type = stream
wait = no
user = root
server = /usr/sbin/swat
log_on_success += HOST DURATION
log_on_failure += HOST
disable = no
}

дальше, запускаем xinetd:
/etc/rc.d/xinetd start

Теперь, если зайти в веб-браузере на ip-адрес компьютера с указанием 901 порта и ввести рутовые логин и пароль, то мы увидим веб-интерфейс, позволяющий легко настраивать файловый сервер без особых знаний и навыков.

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

Если веб-морда нужна в постоянное пользование, то необходимо xinetd, так же как и samba, записать в /etc/rc.conf в секцию DAEMONS.

Подводные камни.
Единственное, с чем, на мой взгляд, могут возникнуть проблемы — это непонимание действия прав доступа. Здесь, так же, как и в windows, есть два уровня доступа — права системы и права шары. Права системы настраиваются с помощью chmod, а права шары настраиваются в /etc/smb/smb.conf , как мы и делали, или в веб-морде..

Комментировать

Комментарии

7 + шесть =