· 15 мин чтения

Samba как файловый сервер: Linux в Windows-сети без головной боли

Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. 15+ лет я настраиваю файловые сервера в корпоративных сетях — Windows Server, NetApp, Synology, TrueNAS, и конечно, Linux + Samba. И хочу сказать прямо: для 90% офисов Samba на Linux работает не хуже Windows Server, стоит в разы дешевле и даёт больше гибкости (снапшоты ZFS, прозрачное шифрование, бесплатные лицензии). В статье разложу, как построить production-файловый сервер на Samba, чтобы он не сломался через полгода.

Почему Samba, а не Windows Server

Плюсы, которые реально важны бизнесу:

Выбор файловой системы

У нас на практике два основных варианта:

ФСПлюсыМинусыКогда брать
ZFSСнапшоты, дедуп, сжатие, scrub, RAIDZЖрёт RAM, не в ядре LinuxProduction, много данных
BtrfsСнапшоты, CoW, в ядреRAID5/6 не стабиленСредние объёмы, SSD
XFSБыстрая, зрелаяБез снапшотовЧистая производительность
ext4Стандарт, надёжноБез снапшотовПростые задачи

Я всегда рекомендую ZFS поверх аппаратного JBOD или ZFS-RAIDZ2. Снапшоты бесценны — клиент-бухгалтер сохранил Excel поверх правильного, через минуту мы откатываем из снапшота, который делается каждые 15 минут.

Установка Samba 4.20 на Debian 12

apt update && apt install -y samba smbclient winbind libnss-winbind krb5-user

# Базовая структура хранилища
mkdir -p /srv/shares/{public,finance,projects,archive}
chown -R root:users /srv/shares
chmod 770 /srv/shares/finance
chmod 775 /srv/shares/public

Конфигурация для standalone-режима

Простой вариант без домена — для совсем маленьких офисов на 5-15 человек. Правим /etc/samba/smb.conf:

[global]
workgroup = OFFICE
server string = %h file server
security = user
map to guest = bad user
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
server min protocol = SMB2_10
server signing = mandatory
smb encrypt = desired

[public]
path = /srv/shares/public
browseable = yes
writable = yes
guest ok = yes
create mask = 0664
directory mask = 0775

[finance]
path = /srv/shares/finance
browseable = yes
writable = yes
valid users = @finance
create mask = 0660
directory mask = 0770

smbpasswd -a ivanov

Режим member server в Active Directory

Для корпоратива всегда интеграция с AD — будь то Windows Server или Samba AD DC. Настройка:

[global]
workgroup = CORP
realm = CORP.EXAMPLE.RU
security = ADS
kerberos method = secrets and keytab
winbind use default domain = yes
winbind refresh tickets = yes
template shell = /bin/bash
template homedir = /home/%U
idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config CORP : backend = rid
idmap config CORP : range = 10000-999999

vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

[projects]
path = /srv/shares/projects
read only = no
valid users = @"CORP\Domain Users"
write list = @"CORP\Projects-RW"
create mask = 0660
directory mask = 0770

# Присоединение к домену
net ads join -U administrator
systemctl restart smbd nmbd winbind
wbinfo -u
wbinfo -g

ACL как у NTFS

Чтобы Windows-пользователи могли назначать права через обычный «Security» tab, нужна поддержка ACL на файловой системе и параметр vfs objects = acl_xattr:

# ext4/xfs — включить в /etc/fstab
UUID=... /srv/shares ext4 defaults,user_xattr,acl 0 2

# ZFS — ACL включаются свойством
zfs set acltype=posixacl tank/shares
zfs set xattr=sa tank/shares

# Проверка на сервере
getfacl /srv/shares/projects

Снапшоты как Previous Versions

Магическая фича — пользователь видит кнопку «Previous Versions» в свойствах файла и откатывает сам. Настраивается через vfs_shadow_copy2:

[projects]
path = /srv/shares/projects
read only = no
vfs objects = shadow_copy2 acl_xattr
shadow: snapdir = .zfs/snapshot
shadow: sort = desc
shadow: format = auto-%Y-%m-%d_%H-%M
shadow: snapprefix = ^auto
shadow: delimiter = -

# ZFS автоснапшоты через sanoid
zfs create tank/shares
# /etc/sanoid/sanoid.conf
[tank/shares]
frequently = 4
hourly = 48
daily = 30
monthly = 6
yearly = 0

Антивирусная защита

Файловый сервер без антивируса в 2026 — это бомба. Ransomware через расшаренный диск уничтожит бизнес за час. Ставим ClamAV + vfs_scannedonly:

apt install -y clamav clamav-daemon samba-vfs-modules

[projects]
vfs objects = scannedonly shadow_copy2 acl_xattr
scannedonly: showspecialfiles = False
scannedonly: rsrcdir = /srv/.quarantine
scannedonly: allow_nonscanned_files = False

Плюс — в самой Samba с версии 4.15 есть защита от ransomware через vfs_virusfilter и лимит записи файлов с известными расширениями (.locked, .encrypted и т.д.).

Реальный кейс: файл-сервер для проектной организации

В январе 2025 внедряли файловый сервер для проектной организации — 95 рабочих мест, 12 отделов, 6 ТБ активных данных, 800+ ГБ прирост в месяц. Раньше стоял Windows Server 2016, CAL кончились, обновление блокировалось санкциями.

Что сделали за 6 рабочих дней:

Стоимость работ — 340 000 ₽, железо — 1.2 млн ₽. Экономия на Windows Server CAL + антивирусе — около 850 000 ₽ за 3 года.

Типовые грабли

Поднимем файловый сервер на Linux под ключ

Проектируем, устанавливаем, интегрируем с AD, настраиваем ACL, снапшоты ZFS, антивирусную защиту, бэкапы. Миграция данных с Windows Server без простоев.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы по Samba File Server

Чем Samba лучше Windows File Server?
Нет лицензий, меньше ресурсов, ZFS-снапшоты, работает на любом Linux.
Поддерживает ли Samba SMB3?
Да, с 4.3. Подпись, шифрование, multichannel.
Как настроить NTFS-совместимые права?
vfs objects = acl_xattr на ext4/xfs/zfs.
Как делать снапшоты Previous Versions?
vfs_shadow_copy2 поверх ZFS/Btrfs снапшотов.
Можно ли интегрировать с антивирусом?
Да, через vfs_scannedonly и ClamAV.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.