Ми налаштовуємо Samba-сервери під ключ для організації надійного та безпечного файлового обміну між Linux і Windows. Наш досвід — понад 50 проектів, від невеликих офісних NAS до високонавантажених кластерів з реплікацією. Гарантуємо доступність 99.9% і повну інтеграцію з існуючою інфраструктурою — Active Directory, LDAP, системами моніторингу.
Типова ситуація: компанія переходить з Windows Server на Linux, але потрібно зберегти звичні UNC-шляхи та права доступу. Або потрібне бюджетне рішення для файлового сховища без втрати функціональності. Samba з правильно налаштованими ACL та оптимізованими параметрами SMB2/3 вирішує ці завдання.
Як інтегрувати Samba з Active Directory?
Для корпоративного використання інтеграція з AD обов'язкова. Ми налаштовуємо Samba як член домену за допомогою net ads join. На етапі конфігурації підключаємо winbind для маппінгу користувачів і груп AD на Linux-ідентифікатори. Це дозволяє використовувати єдиний обліковий запис для доступу до файлів.
# Встановлення Samba з підтримкою AD
apt install samba smbclient winbind
# Налаштування /etc/samba/smb.conf
[global]
workgroup = DOMAIN
security = ads
realm = DOMAIN.LOCAL
# ... інші параметри
# Введення в домен
net ads join -U administrator
# Запуск winbind
systemctl enable --now winbindПісля цього користувачі AD можуть підключатися до шар без створення локальних акаунтів. Права призначаються через групи AD — Samba автоматично застосовує їх до ACL.
Чому Samba може гальмувати і як це виправити?
Повільна робота Samba часто пов'язана з неправильним alignment мережевих буферів або використанням SMB1. Насамперед вимкніть SMB1 і увімкніть SMB3. Оптимізуйте socket options:
[global] socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 Також перевірте продуктивність дискової підсистеми: використовуйте SSD для метаданих і налаштуйте кеш запису. Для WAN-з'єднань збільште server max protocol = SMB3 і увімкніть server signing = mandatory. Наші інженери проводять навантажувальне тестування за допомогою smbclient та dd для пошуку вузьких місць.
Базова конфігурація Samba
Починаємо з встановлення пакетів та мінімального конфігураційного файлу:
apt install samba samba-common-bin Файл /etc/samba/smb.conf складається з глобальної секції та секцій шар:
[global]
workgroup = MYGROUP
server string = File Server
netbios name = FILESERVER
server role = standalone server
log file = /var/log/samba/log.%m
max log size = 1000
map to guest = bad user
usershare allow guests = no
min protocol = SMB2
max protocol = SMB3
[data]
path = /srv/samba/data
valid users = @sambagroup
browseable = yes
writable = yes
create mask = 0664
directory mask = 0775
force group = sambagroup
[public]
path = /srv/samba/public
browseable = yes
guest ok = yes
writable = no
read only = yesПараметр map to guest = bad user автоматично перенаправляє невідомих користувачів на гостьовий доступ, інакше Windows-клієнти отримають помилку аутентифікації при спробі підключення до публічної шари.
Користувачі та групи
Samba зберігає паролі у власній базі, окремо від системних облікових записів:
# Створення системного користувача та групи
useradd -M -s /sbin/nologin jsmith
groupadd sambagroup
usermod -aG sambagroup jsmith
# Додавання до бази Samba
smbpasswd -a jsmith
smbpasswd -e jsmith
# Перевірка
pdbedit -L -v jsmithДля великих організацій рекомендуємо бекенд LDAP (passdb backend = ldapsam), що спрощує централізоване управління.
Права доступу: Linux ACL + Samba
Правильна схема прав — комбінація групових ACL та успадкованих прав:
# Група sambagroup може читати та писати
setfacl -R -m g:sambagroup:rwX /srv/samba/data
setfacl -R -d -m g:sambagroup:rwX /srv/samba/data
# Інші — лише читання
setfacl -R -m o::r-X /srv/samba/data
Параметри create mask та directory mask у smb.conf обмежують максимальні права для нових файлів, створених через Samba.
Етапи роботи
- Аудит поточної інфраструктури (мережа, домен, ємність дисків).
- Проектування структури шар та схеми прав.
- Встановлення та налаштування Samba, оптимізація під навантаження.
- Створення користувачів/груп, інтеграція з AD/LDAP.
- Налаштування ACL на файловій системі.
- Конфігурація файрвола та виявлення (wsdd).
- Підключення моніторингу (Prometheus + Grafana + samba_exporter).
- Тестування з Windows та Linux-клієнтами, стрес-тест.
- Передача документації та навчання адміністраторів.
Що входить у налаштування під ключ
- Розгортання Samba standalone або в домені.
- Налаштування ACL із успадкуванням прав.
- Інтеграція з AD/LDAP через winbind.
- Оптимізація продуктивності (буфери, кеш, SMB3).
- Моніторинг:
samba_exporterдля Prometheus, алерти в Grafana. - Резервне копіювання конфігурації та даних (rsync + snapshot).
- Документація з адміністрування та відновлення після збоїв.
- 30 днів супроводу після введення в експлуатацію.
Детальніше про налаштування ACL
Ми використовуємо setfacl з рекурсивними правилами та успадкуванням прав. create mask та directory mask у smb.conf обмежують максимальні права створюваних файлів. Для тонкого налаштування використовуйте acl group control = yes у глобальній секції.
Порівняння протоколів: SMB vs NFS vs FTP
| Критерій | SMB (Samba) | NFS | FTP |
|---|---|---|---|
| Підтримка Windows | Вбудована, UNC-шляхи | Потрібен клієнт | Через клієнт |
| Безпека | Шифрування SMB3 | Kerberos/SSH | FTPS |
| Продуктивність | Висока (async) | Вища для Linux | Середня |
| ACL | POSIX + Windows | POSIX | Обмежений |
Моніторинг та діагностика
Перевіряйте синтаксис, статус та логи через утиліти командного рядка:
# Перевірка синтаксису testparm
# Список активних підключень smbstatus
# Тест підключення smbclient //fileserver/data -U jsmith
# Логи journalctl -u smbd tail -f /var/log/samba/log.smbdДля мережевої фільтрації відкрийте порти та встановіть wsdd для виявлення сервера в Windows:
# Дозвіл трафіку SMB та WS-Discovery
ufw allow from 192.168.1.0/24 to any port 445,139 proto tcp
ufw allow from 192.168.1.0/24 to any port 137:138 proto udp
# Встановлення та запуск wsdd
apt install wsdd
systemctl enable --now wsddТипові проблеми: NT_STATUS_ACCESS_DENIED при записі — перевірте і Samba ACL, і права файлової системи. NT_STATUS_CONNECTION_REFUSED — перевірте, чи запущений smbd і чи відкриті порти.
Строки та вартість
Стандартний файловий сервер налаштовується за 1-2 дні. При інтеграції з AD/LDAP або складній схемі ACL — до 5 днів. Вартість розраховується індивідуально після аудиту. Економія порівняно з Windows Server досягає 50% без втрати функціональності.
Ми пропонуємо налаштування Samba під ключ — отримайте консультацію інженера з 5+ років досвіду. Ми гарантуємо надійність та продуктивність вашого файлового сховища.
Зв'яжіться з нами для оцінки вашого проекту — відповімо протягом 2 годин.







