Файловый сервер (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.
Если нужно перекинуть домашний каталог на другой ноутбук целиком — это отдельная статья со своим порядком действий: «Перенести домашний каталог на другой ноутбук».
Из чего состоит настройка
- Пользователи и пароли —
smbpasswdиpdbedit: у Samba своя база паролей, отдельная от системной. - Создание общей папки — с чего начать: где разместить каталог, что решить до правки конфига.
- Сетевые хранилища — общие ресурсы на NAS, отдельные от Samba на ноутбуке.
- Настройка доступа с определённых хостов —
hosts allowиhosts deny: пускать не по логину, а по адресу. - Контроль авторизации — как Samba связывает системных пользователей Linux, uid и группы.
- Диагностика —
testparm,smbclient, поиск мастер-браузера, список пользователей. - Гостевой доступ — доступ без пароля: когда уместен и как устроен.
О чём стоит помнить
Пароли здесь свои. Создание пользователя 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) описано по документации и не проверялось на живых машинах.
Комментарии
Пока комментариев нет.