Коротко о главном

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

SMB поддерживается почти на любом устройстве, включая бытовую технику. Samba даёт общий доступ без установки клиентов на Windows и macOS, а также может работать как контроллер домена, хотя для дома это редко нужно.

Большинство проблем с Samba сводится к нескольким повторяющимся ошибкам. Ниже — что проверить в первую очередь и как не усугубить ситуацию.

Почему это происходит

Ошибки почти всегда связаны с контекстом: другая версия пакета, не тот пользователь, устаревший конфиг или команда из руководства для другой системы. Samba не исключение. Поэтому сначала фиксируем исходное состояние, затем меняем одну вещь за раз.

Типичные ошибки

Ниже — сбои, которые встречаются чаще всего. Перед исправлением сохраните текущие конфиги и запишите, какие изменения вносите: так проще откатиться.

1. Access denied

Проверьте valid users, пароль Samba и права каталога. Убедитесь, что пользователь включён через smbpasswd -e и не заблокирован.

2. Не подключается с Windows

Проверьте порт 445, имя рабочей группы и версию протокола. Windows может требовать подписывания SMB — смотрите журнал Samba.

3. Файлы создаются с неверными правами

Задайте create mask и directory mask, а также force group. Проверьте, что каталог имеет нужные права и setgid.

Как настроить правильно

Правильная последовательность проста: проверить версию и зависимости, сделать резервную копию конфигурации, внести минимальное изменение, проверить логи и только потом двигаться дальше.

Установка

В Debian, Ubuntu и Linux Mint используется пакетный менеджер APT:

sudo apt install samba

В Fedora и RHEL-совместимых системах пакет ставится через DNF:

sudo dnf install samba

В Arch Linux и производных пакет доступен в официальных репозиториях:

sudo pacman -S samba

1. Подготовьте каталог

Права на каталог должны совпадать с пользователем, которому разрешён доступ. Групповой бит setgid помогает сохранять группу у новых файлов.

sudo mkdir -p /srv/share
sudo chown -R user:users /srv/share
sudo chmod 2770 /srv/share

2. Создайте пользователя Samba

Учётная запись Samba связана с системным пользователем, но пароль хранится отдельно. Пользователь должен существовать в системе.

sudo smbpasswd -a user
sudo smbpasswd -e user
sudo pdbedit -L

3. Опишите общий ресурс

Не включайте анонимный доступ без необходимости. Ограничьте ресурс списком пользователей и задайте маски создания файлов.

sudo tee -a /etc/samba/smb.conf <<'EOF'
[share]
   path = /srv/share
   browseable = yes
   read only = no
   valid users = user
EOF

4. Проверьте конфигурацию

testparm находит синтаксические ошибки до перезапуска. Не пропускайте этот шаг: сломанный smb.conf останавливает всю службу.

sudo testparm -s
sudo systemctl enable --now smbd
systemctl status smbd --no-pager

Рабочий конфиг

Начните с минимального рабочего варианта. Не копируйте большой конфиг целиком: добавляйте параметры по одному и проверяйте результат после каждого изменения.

[share]
   path = /srv/share
   browseable = yes
   read only = no
   valid users = user
   create mask = 0660
   directory mask = 2770

Практические советы

Эти рекомендации проверены на повседневных задачах. Начните с тех, которые закрывают вашу текущую боль, а не со всего списка сразу.

Совет 1. Отключите SMB1: он устарел и небезопасен.

Отключите SMB1: он устарел и небезопасен.

Совет 2. Используйте SMB3 с шифрованием, если данные идут через недоверенную се

Используйте SMB3 с шифрованием, если данные идут через недоверенную сеть.

Совет 3. Не давайте гостевой доступ к каталогам с личными файлами.

Не давайте гостевой доступ к каталогам с личными файлами.

Совет 4. Проверяйте права через smbclient, а не только локально.

Проверяйте права через smbclient, а не только локально.

Профилактика

Большинство повторяющихся сбоев с Samba связано не с ошибкой в самой программе, а с окружением: обновились зависимости, изменился путь, закончилось место или другой администратор поправил конфиг. Поэтому профилактика начинается с фиксации исходного состояния.

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

Чек-лист

  • Версия пакета и конфигурация зафиксированы и доступны для сравнения.
  • Есть автоматическая проверка синтаксиса перед перезапуском службы.
  • Журналы ротуются, а диск не заполняется ими за неделю.
  • Изменения проходят через тестовый стенд, а не сразу на рабочий сервер.

Итог

Большинство ошибок с Samba лечится не переустановкой, а проверкой конфигурации, логов и прав доступа. Действуйте по одному изменению за раз — и причина быстро найдётся.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте