Файловый сервер (Samba)

Файлы #Samba

Samba — служба, которая отдаёт каталоги Linux по сети по протоколу SMB/CIFS. Проще говоря: она делает папку на этой машине сетевой папкой — видимой из проводника Windows, из файлового менеджера GNOME или примонтированной к другому Linux как обычный каталог.

Нужна в трёх случаях: на той стороне Windows; нужен файловый менеджер вместо командной строки; нужно отдать общий доступ не одному человеку, а группе. Когда обе машины на Linux и задача разовая — быстрее и надёжнее переносить по rsync по SSH.

Быстро: отдать файлы по сети

Четыре команды, чтобы расшарить домашний каталог:

$ sudo apt install samba
$ sudo smbpasswd -a user      # пароль Samba для пользователя (он отдельный от системного)
$ sudo testparm               # проверить конфиг — до перезапуска службы
$ sudo systemctl restart smbd

Секция в /etc/samba/smb.conf (в конце файла):

[home]
   path = /home/user
   browseable = yes
   read only = no
   valid users = user

Проверить доступ со второго компьютера, а не надеяться: smbclient -L //адрес -U user.

Если нужно перекинуть домашний каталог на другой ноутбук целиком — это отдельная статья со своим порядком действий: «Перенести домашний каталог на другой ноутбук».

Из чего состоит настройка

О чём стоит помнить

Пароли здесь свои. Создание пользователя Samba (smbpasswd -a) не имеет отношения к смене системного пароля: смена одного не меняет другого. Первое, что стоит проверить, когда «Linux пускает, Windows нет» — заведён ли пользователь в базе Samba и тот ли пароль введён.

Служба одна, конфиг один. smbd отвечает за файлы и печать, nmbd — за имена в локальной сети. Правки в smb.conf вступают в силу после systemctl restart smbd.

Проверять конфиг до перезапуска. testparm показывает, что файл будет означать на самом деле, — с учётом значений по умолчанию. Опечатка в имени параметра там видна сразу.

Открывать доступ по сети — это доступ. Пароль Samba при входе передаётся, но сам трафик в старых настройках не шифруется: чужой в той же сети может слушать. Поэтому доступ ограничивают адресами (hosts allow), а в открытой сети так не делают.

Источники

  • man 5 smb.conf — все параметры и значения по умолчанию; man 8 smbd, man 8 nmbd — службы.
  • man 8 smbpasswd, man 8 pdbedit — управление пользователями Samba; man 1 smbclient — проверка доступа.
  • man 1 testparm — проверка конфигурации.

Что ещё не проверено

  • Примеры в разделе собраны по документации Samba и страницам этого сайта; отдельного стенда с Samba у нас сейчас нет.
  • Поведение Windows-клиента (в том числе с современным отключённым SMB1) описано по документации и не проверялось на живых машинах.
Оценка статьи 0

Комментарии

Пока комментариев нет.