Samba — что это, как настроить SMB-сервер на Linux | Глоссарий FREEHOSTING

Samba

Samba SMB Server
Samba — Samba — свободная реализация протокола SMB/CIFS для Unix-систем. Позволяет Linux-серверу обмениваться файлами и принтерами с Windows-клиентами, работать как член домена Active Directory или поднимать собственный домен через Samba AD DC.

Определение простыми словами

Samba делает Linux-сервер «своим» для Windows: общая папка, видимая в проводнике как \servershare, печать на сетевой принтер, авторизация через доменного пользователя. Под капотом — реализация протокола SMB и сопутствующих служб (NetBIOS, RPC, Kerberos), переписанная под Unix. Это де-факто стандарт для смешанных сетей, где соседствуют Windows, macOS и Linux.

В отличие от NFS, Samba корректно отдаёт права в стиле Windows и работает по знакомому пользователям пути с двумя слешами. Демон smbd обслуживает файлы и печать, nmbd отвечает за разрешение имён NetBIOS, winbind связывает Linux-учётки с пользователями домена.

Сравнение

Решение Протокол Где удобнее
Samba (file server) SMB 2/3 Файлопомойка для Windows и macOS
Samba AD DC SMB + Kerberos + LDAP Контроллер домена без Windows Server
NFS NFSv3/4 Чистая Unix-инфраструктура
SSHFS / SFTP SSH Простая передача через интернет

Кейсы использования

  • Бухгалтерия в офисе хранит документы в общей папке на Linux-сервере, заходя из Windows по \fileserverbuh.
  • NAS на базе VPS с Samba — резервное хранилище для домашних ПК и смартфонов.
  • Замена Windows Server: Samba AD DC выступает контроллером домена для парка из 50 рабочих станций.
  • Интеграция CI/CD: Jenkins-агент монтирует общую папку с артефактами через cifs-utils.
  • Негативный сценарий: устаревший SMBv1 уязвим (EternalBlue/WannaCry) — отключайте его на сервере и принудительно используйте SMB3 с шифрованием.

Технические детали

# Установка и базовая шара (Debian/Ubuntu)
apt install samba samba-common-bin
mkdir -p /srv/share && chown nobody:nogroup /srv/share

cat >> /etc/samba/smb.conf <<'EOF'
[share]
  path = /srv/share
  browseable = yes
  read only = no
  guest ok = no
  valid users = @smbusers
EOF

# Создать пользователя SMB
useradd -M -s /sbin/nologin alice
smbpasswd -a alice
systemctl restart smbd nmbd

# Клиент Linux: монтирование cifs
apt install cifs-utils
mount -t cifs //10.0.0.10/share /mnt/share 
  -o username=alice,vers=3.0,iocharset=utf8

Частые вопросы

Samba бесплатна для коммерческого использования?

Да, проект распространяется по лицензии GPL и не требует платы за использование, в том числе в бизнесе. Платными бывают коммерческие сборки и техподдержка от вендоров вроде SerNet или Red Hat.

Зачем отключать SMBv1?

В SMBv1 нашли уязвимость EternalBlue, через которую распространялись WannaCry и NotPetya. Достаточно прописать min protocol = SMB2 в smb.conf, чтобы сервер не принимал устаревший протокол. Современные клиенты Windows работают по SMB2/3.

Можно ли заменить Windows Server на Samba AD DC?

Да, Samba 4 умеет выступать полноценным контроллером домена с Kerberos, LDAP и групповыми политиками. Подходит для небольших и средних сетей; крупные внедрения с RODC и сложными GPO лучше тестировать заранее.