samba share Вместо предисловия. Я уже много лет как полностью перешёл на Linux, и тем не менее в домашней сети остаются машины с Шindows. Например Старый ПК с WinXP с FDD 5.25" и 3.5" для работы с дискетами ZX Spectrum, старым DOS софтом. А вся файлопомойка централизовано лежит на винтах на linux, и проще один раз настроить удалённый доступ, чем каждый раз таскаться с флешками.
Таким образом я в очередной раз решил настроить samba. Заранее скажу, что успешно. Всё работает.
Теперь нужно создать пользователя, от имени которого samba будет пускать по умолчанию.
Создать пользовательскую группу sambashare.
Если будут созданы ещё пользователи и организован только парольный доступ, то можно будет разрешать чтение ресурса не каждому по отдельности, а группе целиком. Так и проще, и правильнее.
Создать пользователя username в группе sambashare: sudo useradd -M -N -r -g sambashare -s /bin/false username Назначить ему пароль в bd samba: sudo smbpasswd -a username
ВАЖНО: samba пароль невозможно назначить не существующему в linux пользователю. А без samba пороля, ресурсы будут недоступны.
Просмотреть пользователей Samba: sudo pdbedit -L -v
Пока ещё рано, но после настройки конфига можно просмотреть доступные пользователю username ресурсы: smbclient -L localhost -U username
Теперь следует создать конфиг: sudo vim /etc/samba/smb.conf
По умолчанию его нет, можно взять шаблон тут:
но там много воды, и я предлагаю свой простой вариант. Параметры имеют дефолтные значения, и можно указывать только те параметры, которые хотите изменить. Конфиг имеет секцию [global] и все остальные, являющиеся шарами ресурсов - принтеров и каталогов.
[global]
# Для доступа с WInXP включить в конфиге samba1: server min protocol = NT1 ntlm auth = yes
# Если я не ошибаюсь, вышеуказанные параметры можно применить только к отдельной машине # с winxp, а не включать для всех уязвимость smb1. Для этого служит следующий параметр, # где %m - netbios name виндовой машины. Специфические настройки следует убрать в конфиг, # указанный в include:
# include = /usr/local/samba/lib/smb.conf.%m
# Имя рабочей группы windows всех клиентов должно совпадать с серверным # Посмотреть на windows имя ПК и рабочую группу в cmd.exe: net config workstation
workgroup = ABBYS server string = RabeSchloss # Описание сервера
# Обычный режим сервера, другие режимы выходят за рамки этой статьи. server role = standalone server
# Лог. Проверьте правильность путей в вашем дистро. log file = /var/log/samba/log.%m
max log size = 50
Сервер настроили, теперь можно добавлять необходимое количество ресурсов. Мой пример:
[Pictures] comment = Фото, картинки path = /mnt/Pict/ veto files = /xxx/yyy/ # недоступные шаре файлы и каталоги guest ok = yes valid users = @sambashare # кто вообще может видеть шары read list = @sambashare # Читать могут только пользователи этой группы write list = username # а писать только один пользователь
Теперь всё настроено, и можно запускать сервер.
Добавить демонов в автозагрузку: sudo systemctl enable nmb smb Запустить демонов: sudo systemctl start nmb smb Если забыть nmb, то доступ с W7 будет по прямой ссылке, а с XP не будет вообще! Перезапуск демонов после изменения в конфиге sudo systemctl restart nmb smb или так: sudo systemctl stop nmb smb && sudo systemctl start nmb smb Теперь немного тестов.
Узнать версию samba: smbd --version Проверить правильность конфига: samba-tool testparm --suppress-prompt Проверить доступные шарам ресурсы : smbclient -L //localhost
НА WINDOWS:
Всё, можно подключаться с виндовой машины по имени \\SERVERNAME или просто зайдя в сетевое окружение и введя имя пользователя и пароль, который мы создали в самом начале.
Если в Windows нужно забыть текущего пользователя и подключиться к сетевому ресурсу под другим: net use * /delete net use \\smb /delete
В WinXP это не работает, но можно запустить менеджер сохранённых логинов и паролей к серверам: rundll32.exe keymgr.dll, KRShowKeyMgr Подробнее тут. Далее, необходимо либо перезагрузиться, либо перезапустить текущий процесс проводника: taskkill /F /IM explorer.exe & start explorer Теперь при доступе к сетевому ресурсу Windows XP заново попросит ввести логин и пароль.
В LINUX:
Полный путь к шаре movies в линуксе выглядит так: smb://username@hermitlair.local/movies/ А в GUI также можно, например через браузер файлов dolphin, зайти в сетевое окружение.
Или можно смонтировать samba ресурс как файловую систему: sudo mount -t cifs -o username=user01 //192.168.1.10/movies ~/mnt где:
cifs - протокол, смотрите ниже сноску.
user01 - должен быть создан на сервере.
//192.168.1.10/movies - полный путь к шаре. Без конечного каталога не работает!
~/mnt - точка куда монтируется.
В части статей указывают smbfs вместо cifs, но тогда mount выдаёт ошибку unknown filesystem type smbfs.
На этом всё.
Использованные ссылки:
|