Настройка Samba (SMB/CIFS) для файлового сервера под ключ

Переход на Linux или создание файлового хранилища часто упирается в совместимость с Windows и привычными правами доступа. Мы настраиваем Samba (SMB/CIFS) под ключ, обеспечивая бесшовный обмен файлами между системами и интеграцию с Active Directory. Наша команда берёт на себя весь цикл работ — от аудита до внедрения и последующей поддержки, чтобы вы получили надёжное и масштабируемое решение.
Часто задаваемые вопросы

Мы настраиваем 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.

Этапы работы

  1. Аудит текущей инфраструктуры (сеть, домен, ёмкость дисков).
  2. Проектирование структуры шар и схемы прав.
  3. Установка и настройка Samba, оптимизация под нагрузку.
  4. Создание пользователей/групп, интеграция с AD/LDAP.
  5. Настройка ACL на файловой системе.
  6. Конфигурация файрвола и обнаружения (wsdd).
  7. Подключение мониторинга (Prometheus + Grafana + samba_exporter).
  8. Тестирование с Windows и Linux-клиентами, стресс-тест.
  9. Передача документации и обучение администраторов.

Что входит в настройку под ключ

  • Развёртывание 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
u
fw allow from 192.168.1.0/24 to any port 445,139 proto tcp
u
fw 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 часов.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139