Samba как файловый сервер: Linux в Windows-сети без головной боли
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. 15+ лет я настраиваю файловые сервера в корпоративных сетях — Windows Server, NetApp, Synology, TrueNAS, и конечно, Linux + Samba. И хочу сказать прямо: для 90% офисов Samba на Linux работает не хуже Windows Server, стоит в разы дешевле и даёт больше гибкости (снапшоты ZFS, прозрачное шифрование, бесплатные лицензии). В статье разложу, как построить production-файловый сервер на Samba, чтобы он не сломался через полгода.
Почему Samba, а не Windows Server
Плюсы, которые реально важны бизнесу:
- Ноль лицензий. Windows Server CAL на 50 пользователей — от 300 000 ₽.
- Низкие требования к железу. Samba на 4 ГБ RAM обслуживает 100 пользователей, Windows Server — минимум 8 ГБ.
- ZFS/Btrfs снапшоты. Откат файла на 2 часа назад — вкладка «Предыдущие версии» в Windows Explorer.
- Прозрачное шифрование диска через LUKS или ZFS native.
- Работает на любом дистрибутиве — Debian, Ubuntu, Astra, Alt, Rocky.
Выбор файловой системы
У нас на практике два основных варианта:
| ФС | Плюсы | Минусы | Когда брать |
|---|---|---|---|
| ZFS | Снапшоты, дедуп, сжатие, scrub, RAIDZ | Жрёт RAM, не в ядре Linux | Production, много данных |
| 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 рабочих дней:
- Dell PowerEdge R750 (Xeon Platinum 8280, 128 ГБ RAM, 12×14ТБ HDD, 2×960ГБ NVMe, 40G Mellanox).
- Debian 12 + ZFS RAIDZ2 на 12 дисках = 127 ТБ raw / 95 ТБ usable с дедупликацией и компрессией LZ4.
- Samba 4.20 в member-режиме в существующий AD.
- 17 шар с NTFS-подобными ACL через acl_xattr.
- Snapshot-стратегия: каждые 15 мин 96 штук, каждый час 48, каждый день 30, каждую неделю 8, каждый месяц 12.
- ClamAV с ежечасным обновлением баз и сканированием при записи.
- Бэкап через restic в Yandex Object Storage, 2.7 ТБ дедуплицированных снимков.
- Мониторинг в Zabbix: свободное место, I/O, нагрузка, SMART дисков.
Стоимость работ — 340 000 ₽, железо — 1.2 млн ₽. Экономия на Windows Server CAL + антивирусе — около 850 000 ₽ за 3 года.
Типовые грабли
- По умолчанию SMB1 в smb.conf. Уязвимость, WannaCry.
server min protocol = SMB2_10. - Нет snapshots. Удалил файл — нашли в бэкапе за вчера. С ZFS — откат за 15 минут.
- Нет ClamAV. Ransomware с одного заражённого ПК шифрует всю шару.
- Права через smb.conf, а не через ACL. При переезде всё перестаёт работать.
- SMB без signing/encryption. MiTM атакующий читает трафик.
Поднимем файловый сервер на 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.