Подробный гайд Samba NAS share

Полный гайд по настройке Samba на Linux для создания домашнего NAS. Пошаговая инструкция: установка, права доступа, конфиг и доступ с Windows и macOS.

2026.06.22                  


Подробный гайд Samba NAS shareПодробный гайд Samba NAS share Настройка Samba (SMB/CIFS) — это стандарт для организации сетевых хранилищ (NAS), так как этот протокол обеспечивает нативную совместимость с Windows, macOS и Linux.

Ниже представлен подробный, пошаговый гайд по настройке Samba-сервера на базе Linux (на примере Ubuntu/Debian, но принципы одинаковы для всех дистрибутивов).


Подготовка (Prerequisites)

1. Статический IP-адрес:

Убедитесь, что ваш сервер имеет статический IP-адрес в локальной сети (например, 192.168.1.100).

2. Диск для данных:

В идеале, папка для шары должна находиться на отдельном от системы диске (или в RAID-массиве), который уже отформатирован и смонтирован (например, в /mnt/data). В этом гайде мы будем использовать путь /srv/nas/share для примера.


Шаг 1: Установка Samba

Обновите списки пакетов и установите Samba:

sudo apt update
sudo apt install samba samba-common-bin -y

Шаг 2: Создание папки и настройка прав доступа

Это критически важный шаг. Samba не может предоставить доступ к файлу, если у пользователя в самой Linux-системе нет на него прав.

1. Создаем директорию:
sudo mkdir -p /srv/nas/share

2. Создаем системного пользователя специально для Samba (без возможности входа в систему):
sudo useradd -M -s /sbin/nologin smbuser

3. Назначаем владельца и правильные права на папку:
sudo chown -R smbuser:smbuser /srv/nas/share
# 2770 означает: rwx для владельца, rwx для группы, --- для остальных. 
# Бит 2 (setgid) гарантирует, что новые файлы будут наследовать группу smbuser.
sudo chmod 2770 /srv/nas/share

Шаг 3: Добавление пользователя в базу Samba

Samba использует свою собственную базу паролей, отдельную от системной Linux.

Добавляем нашего пользователя и задаем ему пароль (именно этот пароль вы будете вводить при подключении с Windows/Mac):

sudo smbpasswd -a smbuser
# Введите и подтвердите пароль для Samba

sudo smbpasswd -e smbuser
# Активируем пользователя

Шаг 4: Настройка конфигурационного файла Samba

1. Всегда делайте резервную копию конфига перед изменениями:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2. Откройте файл для редактирования:
sudo nano /etc/samba/smb.conf

3. Приведите файл к следующему виду (удалите старое содержимое или закомментируйте его символом ;):
[global]
   workgroup = WORKGROUP          # Имя рабочей группы (для Windows обычно WORKGROUP)
   server string = Denis NAS      # Описание сервера
   server role = standalone server

   # Безопасность и протоколы
   security = user
   map to guest = never           # Запрещаем гостевой вход
   server min protocol = SMB2     # ВАЖНО: Отключаем уязвимый SMB1 (нужен для Win7 и новее)
   server max protocol = SMB3

   # Логирование
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file

   # Производительность (опционально, но рекомендуется для NAS)
   aio read size = 16384
   aio write size = 16384
   socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

[PublicShare]
   comment = NAS Main Share
   path = /srv/nas/share
   browseable = yes               # Папка видна в сетевом окружении
   read only = no                 # Разрешена запись
   valid users = smbuser          # Кто имеет доступ (можно указать несколько через пробел или @group)
   create mask = 0660             # Права на создаваемые файлы
   directory mask = 2770          # Права на создаваемые папки
   force user = smbuser           # Принудительно применяем пользователя (избавляет от проблем с правами)
   force group = smbuser

Сохраните файл (в Nano: Ctrl+O, Enter, Ctrl+X).


Шаг 5: Проверка конфигурации и запуск службы

1. Проверьте синтаксис конфигурации на наличие ошибок:
testparm

Если в конце вы видите Loaded services file OK., значит всё хорошо.


2. Перезапустите и добавьте в автозагрузку службы Samba:
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd

Примечание:

nmbd отвечает за разрешение имен NetBIOS, чтобы сервер был виден в "Сети" Windows, но в современных сетях он часто не обязателен. smbd — главный демон.


Шаг 6: Настройка файрвола (UFW)

Если у вас включен файрвол, откройте порты для Samba:
sudo ufw allow samba
# Или, если нужна точная настройка:
# sudo ufw allow 139/tcp
# sudo ufw allow 445/tcp

Шаг 7: Подключение с клиентских устройств

Теперь подключаемся к вашему NAS. Замените 192.168.1.100 на IP вашего сервера.

Windows:
  1. Откройте Проводник.
  2. В адресной строке введите: \\192.168.1.100\PublicShare
  3. Введите логин smbuser и пароль, который вы задали в Шаге 3.
  4. Для постоянного подключения: Правый клик по "Этот компьютер" -> "Подключить сетевой диск" -> укажите путь.

macOS:
  1. Откройте Finder.
  2. В верхнем меню: Переход -> Подключение к серверу (или Cmd+K).
  3. Введите: smb://192.168.1.100/PublicShare
  4. Введите логин и пароль.

Linux (Ubuntu/другие с GUI):
  1. Откройте файловый менеджер.
  2. В боковой панели найдите "Сеть" или введите в адресную строку: smb://192.168.1.100/PublicShare

Шаг 8: Устранение неполадок (Troubleshooting)

1. "Нет доступа" или "Отказано в правах" при записи:
  • Это всегда проблема прав Linux, а не Samba. Samba не может дать больше прав, чем есть у пользователя в Linux.
  • Проверьте владельца папки: ls -ld /srv/nas/share. Владелец должен быть smbuser.
  • Проверьте, смонтирован ли диск с опцией rw (чтение/запись), а не ro. Посмотреть можно командой mount | grep /srv/nas.
2. Сервер не виден в "Сети" Windows:
  • Windows 10/11 часто отключает обнаружение SMB1 и NetBIOS. Подключайтесь напрямую по IP (\\IP_ADDRESS), это надежнее.
  • Убедитесь, что служба nmbd запущена, и в сети нет блокировки UDP портов 137-138.
3. Низкая скорость передачи данных:
  • Проверьте, не ограничивает ли скорость ваш роутер/свитч (должен быть Gigabit, а лучше 2.5G/10G).
  • Убедитесь, что используется SMB2 или SMB3 (в Windows 10/11 это по умолчанию).
  • Проверьте, не забит ли диск (команда df -h). Если диск переполнен, скорость падает до нуля.
4. Просмотр активных подключений:
  • Команда sudo smbstatus покажет, кто сейчас подключен к вашему NAS, какие файлы открыты и с какой скоростью идет обмен.

Дополнительные советы по безопасности

Ограничение по IP:

Если к NAS должны иметь доступ только ваши устройства, добавьте в секцию [global] строку: hosts allow = 192.168.1. 127. (это разрешит доступ только из подсети .1 и локалхосту).

Регулярные бэкапы:

Samba — это просто протокол доступа. Не забывайте делать резервные копии данных с самого NAS на внешний диск или в облако (например, с помощью rsync или restic).

Если у вас возникнут вопросы на каком-либо из этапов или потребуется настройка специфических параметров (например, доступ для принтеров, тайм-капсула для Mac или интеграция с Active Directory), смело обращайтесь!


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта