Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Samba: базовая конфигурация и ввод в эксплуатацию

10 янв. 2014

Samba установка



Во многих дистрибутивах для сервера и для клиента применяются отдельные пакеты. Обычно клиентские пакеты устанавливаются по умолчанию, поэтому доступ к сетевым каталогам должен функционировать с ходу. Но если вы хотите предоставить в общее пользование сами сетевые каталоги, то вам не обойтись без серверных функций, которые в большинстве дистрибутивов упакованы в пакете samba.

В некоторых дистрибутивах также предоставляются пакеты Samba 4. Но эти пакеты ориентированы исключительно на разработчиков, которые сами хотят испробовать функции Samba. Samba 4 не предназначена для решения практических рабочих задач!

Запуск samba


Службы Samba предоставляются с помощью двух фоновых процессов:
nmbd — используется для внутрисистемного управления и как сервер имен, а также отвечает за просмотр сети и ресурсов;
его можно использовать и в качестве главной системы просмотра ресурсов или как WINS-сервер;
smbd — это клиентский интерфейс, предоставляющий клиентам доступ к каталогам, принтерам и текущему списку компьютеров.

Оба процесса запускаются системой Init-V. Названия сценариев Init-V зависят от применяемого дистрибутива. Если в вашем дистрибутиве по умолчанию не предусмотрен запуск Samba сразу же после установки.

Debian, Ubuntu — /etc/init.d/samba запускает оба процесса;
Fedora, Red Hat, SUSE — /etc/init.d/smb запускает smbd, /etc/init.d/nmb запуекает nmbd.


Основной конфигурационный файл Samba называется /etc/samba/ smb.conf. Файл состоит из глобального раздела для основных настроек ([global]), а также из любого количества других разделов, предназначенных для предоставления ресурсов (каталогов, принтеров и т. д.) в совместное пользование. Каждый раздел начинается с [имя_ресурса]. Комментарии могут вводиться символом # или ;. Нельзя ставить комментарий сразу после настройки параметра, то есть каждый комментарий должен начинаться с новой строки.

Далее с небольшими сокращениями показан фрагмент стандартной конфигурации Samba в Ubuntu. В остальных дистрибутивах этот файл (без учета комментариев) часто еще короче, поскольку настройки, задаваемые по умолчанию, в нем отдельно не указываются. В следующем примере опущены разделы [printers] и [print$], обеспечивающие доступ к принтеру и его драйверам.

<code># Файл /etc/samba/smb.conf в <a class="myClass" href="http://www.modx.cc/linux/zapusk-sistemyi-ubuntu/">Ubuntu</a> 9.10
[global] workgroup server string dns proxy log file max log size syslog
panic action passdb backend unix password sync passwd program passwd chat pam password change map to guest usershare allow guests
WORKGROUP
%h server (Samba, <a class="myClass" href="http://www.modx.cc/linux/zapusk-sistemyi-ubuntu/">Ubuntu</a>) no
/var/log/samba/log.^m 1000 0
/usr/share/samba/panic-action M
tdbsam
yes
/usr/bin/passwd
yes
bad user yes
</code>

Идентификация сервера


С помощью workgroup определяется имя рабочей группы. Вероятно, это первая настройка, которую вам придется изменить, чтобы вписать здесь имя вашей рабочей группы, в которой будет действовать Samba.

Настройка server string указывает, под каким именем будет идентифицироваться сервер. Здесь ХЬ заменяется хост-именем.

WINS


Благодаря настройке dns proxy=no Samba, работающая как WINS-сервер, не будет обращаться к DNS для разрешения хост-имен Windows. Если в вашей сети LAN будет локальный сервер имен, установите для этого параметра значение yes. Стандартное значение no пригодится вам только в тех случаях, когда в сети нет локального сервера имен, к которому можно быстро обратиться.

Журналирование


Параметры log file, max log size и syslog определяют, какие данные будет регистрировать Samba и где. Журналирование подробно рассматривается в одноименном подразделе далее.

При аварийном завершении работы Samba выполняется сценарий panic-action. Он отсылает администратору электронное сообщение, в котором содержится информация о возникших ошибках. Если на сервере не установлена почтовая система, то panic-action будет бездействовать.

Пароли


Настройка passdb backend указывает, как Samba должна работать с паролями. На выбор предлагаются варианты smbpasswd (обычный текстовый файл), tdbsam (TDB, относительно простая база данных) или ldap-sam (LDAP). Обычно в небольших или средних сетях (примерно до 250 клиентов) лучше всего использовать значение tdbsam. Систему smbpasswd, которая раньше была достаточно популярна, в настоящее время применять не рекомендуется, так как в ней нельзя сохранять расширенные атрибуты, применяемые в Windows NT 4 и выше (SAM Extended Controls).

Ключевые слова unix password sync, passwd chatnpam password change указывают, должна ли Samba сравнивать свои пароли с паролями Linux и, если должна, то как именно.

Гости


С помощью map to guest и usershare guest определяется, как Samba должна поступать с пользователями, не прошедшими аутентификацию, то есть с пользователями, которые пытаются войти в систему под недействительным именем или паролем.

Модель защиты


Возможно, вы заметили, что в последнем листинге отсутствует указание на модель защиты. По умолчанию в Samba, а значит, и в базовой конфигурации Ubuntu, действует защита на уровне пользователя (security=user). Если вы желаете применить иную модель защиты, ее нужно настроить как значение параметра security.

Стандарты Samba



В Debian и Ubuntu в файле smb.conf содержатся некоторые команды, отсутствующие в предыдущем листинге, поскольку они избыточны. Например, пароли обязательно шифруются на протяжении уже многих лет, поэтому encrypt passwords=true просто документирует стандартную настройку. Вас может запутать настройка obey pam restrictions=yes: она влияет на управление паролями лишь в том случае, когда пароли не шифруются. Поскольку в нашем случае пароли шифруются, эта настройка игнорируется.


Изменения конфигурации, статус



Чтобы изменения, внесенные в smb.conf, вступили в силу, Samba должна заново считать конфигурационные файлы:

root# /etc/init.d/samba reload

testparam.


Если вы вносите в smb.conf значительные изменения, проверьте с помощью команды testparam, нет ли в коде синтаксических ошибок:

<code>root# testparm

Load smb config files from /etc/samba/smb.conf Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions <Return> [global]

server string = Xb server (Samba, Ubuntu)</code>


Если выполнить testparam с параметром -v, то команда выдаст очень длинный список всевозможных способов настройки smb.conf. Этот список может вам пригодиться в том случае, когда вы не знаете точно, какие настройки действуют по умолчанию (то есть какие из параметров действуют без вашего вмешательства в систему).

Чтобы узнать актуальное состояние сервера Samba, используйте smbstatus. Эта команда также выводит список всех соединений, которые активны в настоящий момент.

Защита Samba



Samba всегда должна иметь такую конфигурацию, чтобы сетевые каталоги действительно были видны и могли использоваться лишь в пределах локальной сети. В идеальном случае вам следует снаружи заблокировать брандмауэром ТСР-пор-ты, с которыми работают серверы Samba и Windows: 135, 139 и 145, а также UDP-порты 137 и 138.

Интерфейсы



Занимаясь конфигурацией Samba, не теряйте бдительности. Специально укажите с помощью interfaces, через какие сетевые интерфейсы сервер должен обмениваться информацией с остальными компьютерами. Интерфейсы указываются не по именам, а по адресным пространствам, используемым этими интерфейсами. Не забудьте о localhost, иначе на сервере не будут работать такие инструменты администрирования, как smbclient или SWAT. Этот параметр имеет значение лишь в том случае, если ваш компьютер оборудован несколькими сетевыми интерфейсами (на многих компьютерах имеются интерфейсы не только для физических сетевых адаптеров, но и для виртуальных сетевых адаптеров различных программ виртуализации!). По умолчанию Samba обслуживает все сетевые интерфейсы.

Чтобы настройки, сделанные в interfaces, вступили в силу, вам потребуется специальноактивизироватьнастройку bind interfaces only.

Хосты


Далее вы можете перечислить в hosts allow те компьютеры, которые имеют право обмениваться информацией с Samba. Хост-имена, IP-адреса и IP-адресные пространства в этом списке отделяются друг от друга пробелами. В hosts allow можно сделать еще более точную выборку, чем в interfaces. Дополнительно в hosts deny можно указать отдельные хосты и адреса, которые нельзя использовать Samba.

Гости



Наконец, настройка map to guest запрещает всем пользователям, которые не прошли аутентификацию на сервере, любой доступ в сеть. В некоторых случаях может быть очень целесообразно создать для гостей отдельные каталоги, файлы в которых можно читать и даже изменять без аутентификации; однако если этого не требуется, нужно изначально закрыть гостям доступ в сеть.

<code># /etc/samba/smb.cnf [global]

bind interfaces only = yes

interfaces = 192.168.0.0/24 localhost

hosts allow = clientA clientB clientC

map to guest = never</code>


Журналирование



Службы Samba smbd и nmbd регистрируют глобальные события в файлах /var/log/ samba/log.smbd и log.nmbd. Ни название, ни местоположение этих файлов регистрации нельзя изменить с помощью smb.conf.
Параметр log file в глобальном разделе smb.conf указывает, где должны сохраняться клиентские уведомления. Благодаря предварительной настройке /var/log/ samba/log.^m для каждого клиента, который обращается к Samba, создается свой файл регистрации с именем log.hostname. Параметр max log size=1000 ограничивает максимальный размер 1000 Кбайт. Если файл регистрации превышает этот размер, то Samba переименовывает его — name.old. Параметр syslog=0 не означает, что syslog не применяется, а значит, что в /var/log/syslog должны регистрироваться только сообщения об ошибках. Могут также применяться значения 1, 2, 3 и т. д., если вы хотите регистрировать предупреждения, замечания и сообщения об отладке.

logrotate


Будьте осторожны, применяя программу logrotate: согласно настройке, действующей в Debian, SUSE и Ubuntu по умолчанию, эта программа раз в неделю архивирует файлы log.smbd и log.nmbd и одновременно удаляет все архивные версии, которым больше двух месяцев. Однако logrotate игнорирует клиентские файлы регистрации log.hostname, которые прирастают значительно быстрее. Аналогичный конфигурационный файл в Fedora и Red Hat построен более рационально, и в нем учитываются все файлы регистрации, находящиеся в /var/log/samba:

<code># /etc/logrotate.d/samba в <a class="myClass" href="http://www.modx.cc/linux/zapusk-sistemyi-v-fedora/">Fedora</a> и Red Hat /var/log/samba/* { notifempty

olddir /var/log/samba/old missingok sharedscripts copytruncate

}</code>


В качестве альтернативы вы можете использовать в smb.conf настройку log file=/var/log/samba/log.smbd. Таким образом, smbd будет регистрировать в одном и том же файле и глобальные, и клиентские уведомления. Если вы не ставите своей задачей отыскать ошибки в конфигурации Samba, лучше всего остановиться именно на этом решении.

Сетевая конфигурация с помощью SWAT


Для того чтобы не изменять конфигурационный файл Samba smb.conf в текстовом редакторе, можете применить Samba Web Administration Tool (кратко — SWAT). Этапы установки SWAT и введения его в эксплуатацию различаются в зависимости от дистрибутива. В любом случае перед установкой сохраните резервную копию smb. conf.

Debian, Ubuntu



SWAT находится в одноименном пакете, который необходимо специально установить. Вместе с ним устанавливается пакет openbsd-inetd. Чтобы он учитывал изменения, автоматически вносимые в конфигурационный файл /etc/inetd.conf, перезапустите openbsd-inetd:

root# /etc/init.d/openbsd-inetd restart


Для работы SWAT нужно, чтобы у учетной записи root был пароль. В Ubuntu по умолчанию это не так. Выполните sudo passwd root и задайте надежный пароль администратора!

Fedora, Red Hat


SWAT находится в пакете samba-swat, который устанавливается дополнительно. Одновременно с ним устанавливается пакет xinetd. Чтобы активизировать SWAT, замените в /etc/xinet.d/swat строку disable=yes строкой disable=no и запустите xinetd.

root# /etc/init.d/xinetd start root# chkconfig --add xinetd


SUSE



В SUSE SWAT содержится в пакете samba. SWAT нужно специально активизировать, заменив в /etc/xinet.d/swat строку disable=yes строкой disable=no. Кроме того, не забудьте запустить xinetd:

<code>root# insserv xinetd

root# /etc/init.d/xinetd start</code>

Применение


SWAT использует миниатюрный веб-сервер для обмена информацией через порт 901 (Apache не требуется!). Чтобы начать работу со SWAT, введите в адресной строке браузера адрес localhost:901. В Fedora 11 указывается http:// localhost4:901, чтобы обмен данными происходил через IPv4.

После этого появляется окно для входа в систему, в котором вы должны представиться как root. Остальные пользователи не имеют достаточных прав для изменения конфигурационного файла Samba и могут только узнать статус Samba, а также изменить собственный пароль для Samba. В эпоху Web 2.0 пользовательский интерфейс SWAT может показаться несколько старомодным.

Конфигурация Samba с помощью SWAT


Если вы сохраняете изменения, внесенные в конфигурацию, то SWAT удаляет из smb.conf все имеющиеся комментарии, изменяет порядок следования имеющихся записей и самовольно меняет некоторые настройки. По этим причинам я рекомендую создавать резервную копию smb.conf до начала установки.

Среди специалистов по Samba SWAT имеет дурную репутацию. Этот инструмент лишь незначительно облегчает конфигурацию. Если вам удалось произвести конфигурацию smb.conf с помощью SWAT, то вы с тем же успехом могли бы изменить эту конфигурацию и вручную, но без ограничений, которые возникают при использовании SWAT.

Защита



При входе в систему имя пользователя и пароль передаются в незашифрованном виде, поэтому SW\T из соображений безопасности следует применять только на локальном компьютере или в локальной сети. В Debian и Ubuntu для этого необходимо изменить файлы /etc/hosts.deny и hosts.allow (в следующем примере показан случай с локальной сетью, работающей в адресном пространстве 192.168.0.*):
<code>
# Файл /etc/hosts.allow swat : 192.168.0.0/24

# Файл /etc/hosts.deny swat : ALL
</code>

В Fedora, Red Hat и SUSE такого шага делать не требуется, так как на основании строки only_from=127.0.0.1 в /etc/xinet.d/swat соединение со SW\T может устанавливать только localhost.
Читайте так же:
Основы Samba

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать