<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mick - Информационный ресурс &#187; samba</title>
	<atom:link href="https://mick.in.ua/tag/samba/feed/" rel="self" type="application/rss+xml" />
	<link>https://mick.in.ua</link>
	<description>Практический опыт системного администратора</description>
	<lastBuildDate>Tue, 23 Sep 2025 12:49:35 +0000</lastBuildDate>
	<language>ru-RU</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>Настройка Samba.</title>
		<link>https://mick.in.ua/2012-03-20/samb/</link>
		<comments>https://mick.in.ua/2012-03-20/samb/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 14:11:14 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Моя работа]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://mick.icc-ukraine.com.ua/?p=422</guid>
		<description><![CDATA[Задача &#8211; сделать файловый сервер, к которому будут иметь доступ все клиенты из локалки, при этом в логи нужно писать кто что удалил и проверять трафик на лету на вирусы. Маны на английском языке можно посмотреть в архиве дистрибутива в директории doc. Заходим в /usr/ports/net/samba3 и инсталируем порт. В окошке конфигурации нужно выбрать с какими [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Задача &#8211; сделать файловый сервер, к которому будут иметь доступ все клиенты из локалки, при этом в логи нужно писать кто что удалил и проверять трафик на лету на вирусы. Маны на английском языке можно посмотреть в архиве дистрибутива в директории doc. Заходим в /usr/ports/net/samba3 и инсталируем порт. В окошке конфигурации нужно выбрать с какими опциями собираем, тут нужно поставить галочку на Syslog, т.к. нам интересно логгировать кто что делает с папками. Текущая версия 3.0.32. Добавляем /etc/rc.conf автозагрузку samba.<span id="more-422"></span></p>
<p># cd /usr/ports/net/samba3<br />
# make install clean<br />
# echo &#8216;samba_enable=&#8221;YES&#8221;&#8216; &gt;&gt;/etc/rc.conf</p>
<p>После установки дефолтный конфиг будет находиться /usr/local/etc/smb.conf. Конфиг состоит из двух секций [global] &#8211; глобальные настройки, [homes] &#8211; расшаренные папки. Ниже приведен мой конфиг:</p>
<p>[global]<br />
interfaces = 192.168.210.0/24<br />
workgroup = ICC_GROUP<br />
netbios name = Icc_Ukraine<br />
server string = Icc Ukraine<br />
security = share<br />
log file = /var/log/samba/log.%m<br />
log level = 0 vfs:2<br />
max log size = 0<br />
os level = 65<br />
domain master = yes<br />
local master = yes<br />
preferred master = yes<br />
load printers = No<br />
dns proxy = No<br />
unix charset = koi8-u<br />
dos charset = cp866<br />
display charset = cp866<br />
preserve case=yes<br />
short preserve case=yes<br />
wins support = yes</p>
<p>[Test_vscan_clamav]</p>
<p>path = /mnt/share1<br />
vfs object = vscan-clamav<br />
vscan-clamav: config-file = /usr/local/etc/samba-vscan/vscan-clamav.conf<br />
guest ok = yes<br />
writable = yes<br />
create mask = 0644<br />
directory mask = 0755</p>
<p>[Temp2_full_audit ]</p>
<p>path = /mnt/da1s/server<br />
guest ok = yes<br />
writable = yes<br />
create mask = 0644<br />
directory mask = 0755<br />
vfs objects = full_audit<br />
full_audit:failure = mkdir rmdir open close read pread write pwrite rename unlink<br />
full_audit:success = mkdir rmdir open close read pread write pwrite rename unlink<br />
full_audit:prefix = %m|%I|%U</p>
<p>Ну а теперь подробнее:<br />
interfaces = 192.168.210.0/24 &#8211; на каком интерфейсе слушается, у меня стоит на сервере, где имеется 2 сетевухи, с этим параметром samba будет работать на внутреннем;<br />
workgroup, netbios name, server string &#8211; название рабочей группы, имя компа в сети и его описание;<br />
security = share &#8211; режим доступа к папкам -открытый, без ограничения, бывают режимы user, domen, ADS, server &#8211; об этом можно почитать в HOWTO;<br />
log file = /var/log/samba/log.%m &#8211; местоположение отладочной информации,%m &#8211; по каждому пользователю будет отдельный файл;<br />
log level = 0 vfs:2(синоним debuglevel) &#8211; тут указывается уровень отладки 0 (только ошибки), для vfs модуля -2 &#8211; что отвечает значению 2 не знаю, 1 &#8211; это ошибки и предупреждения;<br />
max log size = 0 &#8211; тут указывает размер в килобайтах отладочных файлов, 0 &#8211; размер не ограничивается;<br />
os level = 65<br />
domain master = yes Основной мастер просмотра;<br />
local master = yes # Локальный мастер просмотра;<br />
preferred master = yes # Предпочитаемый сервер просмотра;<br />
Существует служба просмотра Windows, которая определяет какие шары есть в сети. Вместо того, чтобы каждый клиент производил просмотр самостоятельно в Windows сетях есть имеется основной сервер просмотра (master browsers) и дополнительный (backup browsers), которые предоставляет список просмотра клиентам. Samba может выступать как основным, так и дополнительным сервером просмотра. В конфиге включается основной серевер просмотра (domain master), его функции &#8211; собирать списки просмотра с локальных мастеров просмора. <strong>Для одной рабочей группы только один сервер Samba может быть мастер просмотра.</strong> Доменный мастер просмотра предпочтитильно должен быть и локальным мастером просмотра (local master). Если предпочитаемый сервер просмотра включен (preferred master), то после запуска nmbd иницирует выборы сервера просмотра. Тот у кого значение os level больше выиграет, при значении 65 Samba выигрывает у любых Windows-машин.<br />
dns proxy = No &#8211; отключение перенаправление в ДНС, если имя не найдено в базе WINS, кроме того при перенаправлении в ДНС порождается еще один процесс nmbd, а это не очень хорошо;<br />
unix charset = koi8-u<br />
dos charset = cp866<br />
display charset = cp866 # Кодировки взависимости от клиента;<br />
preserve case=yes<br />
short preserve case=yes # эти 2 параметры определяют сохранение регистра в названии файлов при записи новых файлов;<br />
wins support = yes # Samba будет выступать еще и WINS-сервером</p>
<p>На этом глобальные параметры заканчиваются, дальше идут описания шар. Тут применяются так называемые <strong>vfs objects</strong> (Virtual File System) &#8211; модули, которые отвечают за определенную работу системы ввода-вывода. В этом примере используем модуль full_audit для логирования действий пользователя с сетевой папкой и vscan-clamav для проверки на вирусы антивирусом Clamav сетевых папок. Сами модули находятся в /usr/local/lib/samba. Но тут есть один минус &#8211; к Samba-шарам можно подключать несколько модулей, их можно перечислить через проблел в vfs objects, но модуль vscan-clamav работает только тогда, когда он один прописан или же стоит последним, при этом модули, перечисленные до него не работают. Устанавливаем порт /usr/ports/security/samba_vscan. Текущая версия 0.3.6_c2. Также ставим Clamav /usr/ports/securiyu/clamav. Текущая версия 0.94_1. Добавляем в /etc/rc.conf:<br />
clamav_freshclam_enable=&#8221;YES&#8221;<br />
clamav_clamd_enable=&#8221;YES&#8221;<br />
Сначала смотрим в конфиг антивируса /usr/local/etc/clamd.conf &#8211; он вполне работоспособный без изменений, я изменил только следующее:<br />
#LogFile /var/log/clamav/clamd.log<br />
LogSyslog yes<br />
LogFacility LOG_LOCAL1<br />
LogVerbose yes<br />
LocalSocket /var/run/clamav/clamd<br />
Смотрим конфиг /usr/local/etc/samba-vscan/vscan-clamav.conf &#8211; тоже конфиг рабочий, поменял только следующее:<br />
infected file action = quarantine<br />
quarantine directory = /tmp/smb_infected<br />
clamd socket name = /var/run/clamav/clamd<br />
Тут задано действие &#8211; переместить зараженные файлы в /tmp/smb_infected. Все остальные опции можно таже поменять, но это дело вкуса. Тут важно, чтобы <strong>LocalSocket</strong> и <strong>clamd socket name</strong> совпадали. Тут еще минус у samba-vscan, что он не понимает LogFacility, пишет в логи в /var/log/messages через уровень *.notice. Сделано так в /etc/syslog.conf:<br />
local1.* /var /log/clama/clamd.log<strong><br />
</strong>*.notice убрано из /var/log/messages<br />
*.notice;local0.none;local2.none;local3.none /var/log/notice.log<br />
!smbd_vscan-clamav<br />
*.* /var/log/clamav/ smbd-vscan.log<br />
В /etc/newsyslog.conf:<br />
/var/log/clamav/clamd.log 644 5 5000 * ZC<br />
/var/log/clamav/smbd-vscan.log 644 5 5000 * ZC<br />
/var/log/notice.log 644 5 5000 * ZC</p>
<p>И не забываем предварительно создать файлы логов, делаем рестарт:<br />
# /etc/rc.d/syslogd restart<br />
# /usr/local/etc/rc.d/samba restart</p>
<p>Смотрим в логи и наблюдаем что пишется:<br />
Oct 15 12:29:49 server smbd_vscan-clamav[65225]: samba-vscan (vscan-clamav 0.3.6c beta5) connected (Samba 3<br />
.0), (c) by Rainer Link, OpenAntiVirus.org<br />
Oct 15 12:29:49 icc smbd_vscan-clamav[65225]: INFO: connect to service Test_vscan_clamav by user nobody</p>
<p>В рассмотренном примере при заходе в папку Test_vscan_clamav весь трафик с папкой будет проверяться на вирусы. В описании шары:<br />
[Test_vscan_clamav] &#8211; так будет отображаться название шары в рабочей группе;<br />
patch &#8211; физческое расположение разшаренной папки;<br />
guest ok = yes &#8211; доступ разрешен для всех;<br />
writable = yes &#8211; разрешена запись;<br />
create mask = 0644 &#8211; маска для записываемых файлов;<br />
directory mask = 0755 &#8211; маска для записываемых директорий.</p>
<p>Теперь рассмотрим как работает модуль full_audit. Читаем мануал <strong>man vfs_full_audit</strong>, как видно мониторить им можно очень много параметров, но нам столько не нужно, поэтому, ограничимся теми, что указаны в конфиге:<br />
full_audit:failure &#8211; параметры мониторинга ошибок;<br />
full_audit:success &#8211; параметры мониторинга удачных действий;<br />
mkdir &#8211; создание директории;<br />
rmdir &#8211; удаление директории;<br />
open &#8211; в какую папку заходили или открывали файл;<br />
close &#8211; с какой папки вышли или закрыли файл;<br />
read, pread &#8211; чтение(открытие) файла;<br />
write,pwrite &#8211; запись (изменение) файла/папки;<br />
rename &#8211; переименование файла/папки;<br />
unlink &#8211; удаление.<br />
full_audit:prefix = %m|%I|%U &#8211; переменные, используемые в samba &#8211; о них можно почитать в мане <strong>man smb.conf</strong>.<br />
%m &#8211; NetBios-имя клиентской машины;<br />
%I &#8211; IP-номер клиентской машины;<br />
%U &#8211; пользователь, под которым залогинился на локальную машину;<br />
full_audit: facility = local4 &#8211; пишем в LOCAL4 syslog;<br />
full_audit: priority = INFO &#8211; приоритет INFO.<br />
Лирическое отсупление &#8211; в Syslog пишутся логи от источников, которые имеют категорию(facility) и приоритет (priority). Категория &#8211; ряд определенных значений от разных источников (почта, ядро, крон,&#8230;). Существуют зарезервированые категории local0-local7, которые ни к какому сервису не прикручены, а сделаны для нужд администраторов. Приоритет &#8211; уровень важности события, есть 8 уровней &#8211; debug, info, notice, warning, err, crit, alert, emerg.</p>
<p>Теперь пишем в /etc/syslog.conf:<br />
local4.info /var/log/audit.log<br />
Рестартуем syslog и смотрим в логи:<br />
#/etc/rc.d/syslogd restart<br />
# tail -f /etc/syslog.conf<br />
Oct 17 11:46:26 icc smbd_audit: adm|192.168.210.8|admin|close|ok|01-July-2008/var_named_etc/namedb/putty<br />
.exe<br />
Oct 17 11:46:26 icc smbd_audit: adm|192.168.210.8|admin|open|ok|r|01-July-2008/var_named_etc/namedb/putty.exe<br />
Oct 17 11:46:26 icc smbd_audit: adm|192.168.210.8|admin|pread|ok|01-July-2008/var_named_etc/namedb/putty.exe<br />
Oct 17 11:46:26 icc smbd_audit: adm|192.168.210.8|admin|pread|ok|01-July-2008/var_named_etc/namedb/putty.exe<br />
Oct 17 11:46:41 icc smbd_audit: adm|192.168.210.8|admin|close|ok|01-July-2008/var_named_etc/namedb/putty.exe<br />
Oct 17 11:46:41 icc smbd_audit: INFO: disconnected</p>
<p>Источник информации:<br />
1. <a href="http://www.opennet.ru/base/net/samba_full_audit.txt.html">http://www.opennet.ru/base/net/samba_full_audit.txt.html </a><br />
2. <a href="http://www.security-teams.net/board/index.php?showtopic=4707">http://www.security-teams.net/board/index.php?showtopic=4707</a><br />
3. <a href="http://www.debryansk.ru/%7Etereshin/sambadoc/BROWSING.koi8-r.html">http://www.debryansk.ru/~tereshin/sambadoc/BROWSING.koi8-r.html</a></p>
<p align="right"><strong>© Mau, 2008</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>https://mick.in.ua/2012-03-20/samb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
