Samba-это бесплатная программа, которая позволяет обмениваться файлами по сети с использованием протокола SMB (Server Message Block).
Этот инструмент был разработан Эндрю Триджеллом в декабре 1991 года и январе 1992 года.
Интересные функции, связанные с Samba:
- Легкое и быстрое развертывание
- Он обеспечивает безопасную передачу данных
- Технология нескольких панелей
- Подписание сообщений – с помощью цифровой подписи – пользователи, получающие пакеты данных, уверены в подлинности источника.
- Позволяет выполнять параллельные операции (одновременный доступ к файлам)
- Он обеспечивает хорошую производительность при больших нагрузках.
- Samba поддерживает расширения POSIX для CIFS / SMB
- Поддерживает NetBIOS через TCP / IP (NBT)
- Он поддерживает службу печати в стиле NT (SPOOLSS)
- Samba поддерживается на различных платформах, таких как операционные системы Windows и Unix, т.е. Solaris, Linux, AIX и варианты BSD.
Установка и настройка Samba
sudo apt install samba smbclient cifs-utils
Файл конфигурации Samba находится в каталоге /etc/samba/smb.conf В этом файле можно, если это необходимо, внести изменения изменений. Но можно и использовать настройки по умолчанию.
Откройте файл, используя любой редактор.
sudo nano /etc/samba/smb.conf
В файле внесите изменения, которые вы сочтете подходящими, например, измените имя рабочей группы
Создание общих каталогов Samba
Можно использовать как общедоступные, так и приватные каталоги.
Итак, мы создадим два каталога, как показано ниже.
sudo mkdir /public
sudo mkdir /private
Теперь отредактируем файл smb.conf и добавим два каталога.
sudo nano /etc/samba/smb.conf
В конце файла добавьте общие ресурсы и методы аутентификации для доступа к нему.
[public]
comment = Public Folder
path = /public
writable = yes
guest ok = yes
guest only = yes
force create mode = 775
force directory mode = 775
[private]
comment = Private Folder
path = /private
writable = yes
guest ok = no
valid users = @smbshare
force create mode = 770
force directory mode = 770
inherit permissions = yes
Создание пользователя для Samba Share и группы пользователей
Нам нужна группа пользователей Samba share для доступа к приватному и общему ресурсам, как указано в приведенном выше конфиге. Итак, мы создадим группу, как показано ниже.
sudo groupadd smbshare
Добавим необходимые разрешения для приватного и общего ресурсов. •
sudo chgrp -R smbshare /private
sudo chgrp -R smbshare /public
Установим правильные права доступа к каталогу. •
sudo chmod 2770 /private
sudo chmod 2775 /public
В приведенной выше команде значение 2 в начале обозначает бит SGID. Это позволяет вновь созданным файлам наследовать родительскую группу.
Затем создадим локального пользователя без входа в систему для доступа к приватному и общему ресурсам.
sudo useradd -M -s /sbin/nologin sambauser
Добавим пользователя в группу общего ресурса Samba, созданную выше.
sudo usermod -aG smbshare sambauser
Теперь создадим пароль SMB для пользователя.
sudo smbpasswd -a sambauser
Включите созданную учетную запись:
sudo smbpasswd -e sambauser
Проверка конфигурации Samba
После внесения изменений в конфигурационный файл рекомендуется протестировать его с помощью приведенной ниже команды:
sudo testparm
Результат выполнения:
Создадим тестовые файлы в общих ресурсах Samba: •
sudo mkdir /private/demo-private /public/demo-public
sudo touch /private/demo1.txt /public/demo2.txt
Перезапустите службу Samba, чтобы изменения вступили в силу.
sudo systemctl restart nmbd
Если у вас запущен брандмауэр, вам необходимо разрешить удаленный доступ с указанного диапазона IP:
sudo firewall-cmd –permanent –add-source=10.10.10.10
Добавим службу Samba в исключения файервола
firewall-cmd –permanent –add-service=samba
Доступ к общим ресурсам с клиента
Сначала попробуйте получить доступ к общему ресурсу со своего локального компьютера.
smbclient ‘\\localhost\private’ -U sambauser
Enter WORKGROUP\sambauser’s password:
Try “help” to get a list of possible commands.
smb: \> ls
Настройка клиента Linux
Для настройки Linux-клиента понадобятся пакеты Samba:
sudo apt install samba-client cifs-utils
После установки переходим в File manager-> Other locations и добавьте свой общий ресурс, используя приведенный ниже синтаксис.
smb://servername/Share_name