Десятилетиями основной проблемой в средах со смешанными ОС была совместное использование файлов между машинами Windows и Linux. Решением, которое появилось, стал протокол Server Message Block (SMB). Изначально разработанный для Windows, протокол samba позже был усовершенствован в диалект, известный как Common Internet File System (CIFS). Сегодня современные системы используют более новые версии SMB, но эти термины часто используются вместе.
Samba — это мощный программный пакет, который реализует протокол SMB/CIFS в Linux и других Unix-подобных системах. Это ключ к интеграции smb linux, позволяющий серверу Linux выступать в роли файлового сервера и сервера печати для клиентов Windows, macOS и других Linux, создавая бесшовную samba network (сеть Samba). Связь между smb samba проста: Samba — это программное обеспечение, которое говорит на языке SMB.
Установка Samba в Linux
Для начала вам необходимо установить пакет Samba. Команда зависит от менеджера пакетов вашего дистрибутива Linux. Для систем на базе Debian, таких как Ubuntu, используйте следующее:
sudo apt update
sudo apt install samba
Настройка общей папки Samba
Основной конфигурационный файл для Samba находится по адресу /etc/samba/smb.conf. Этот файл определяет, какие каталоги являются общими, кто может получить к ним доступ и каковы их разрешения. Файл по умолчанию содержит множество закомментированных примеров, которые служат отличным справочником.
Давайте рассмотрим шаги по настройке базовой общей папки.
Сначала откройте конфигурационный файл в текстовом редакторе:
sudo nano /etc/samba/smb.conf
В конце файла добавьте новый раздел для вашей общей папки. Имя в квадратных скобках будет именем общего ресурса, видимым в сети.
[myshare]
comment = Моя первая общая папка Samba
path = /my/directory/to/share
read only = no
browsable = yes
Далее создайте каталог, указанный в конфигурации:
mkdir -p /my/directory/to/share
Наконец, вам нужно настроить специальный пароль для доступа к Samba. Samba поддерживает собственную базу данных паролей, отдельную от системных паролей пользователей.
sudo smbpasswd -a [username]
Замените [username] на существующего пользователя Linux в вашей системе. Вам будет предложено создать новый пароль для этого пользователя для доступа к Samba.
Управление службой Samba
После внесения изменений в файл smb.conf необходимо перезапустить службу Samba, чтобы они вступили в силу.
sudo service smbd restart
Доступ к общим ресурсам Samba
После настройки общего ресурса клиенты в сети смогут получить к нему доступ.
Из Windows:
Откройте окно "Выполнить" (Win + R) или Проводник и введите сетевой путь: \\HOST\sharename, где HOST — это IP-адрес или имя хоста вашей машины Linux.
Из Linux:
Пакет Samba включает утилиту командной строки под названием smbclient, которая позволяет взаимодействовать с любым общим ресурсом linux smb или Windows.
smbclient //HOST/myshare -U username
После подключения вы получите приглашение smb: \> где вы можете использовать такие команды, как ls, get и put для управления файлами.
Монтирование общего ресурса Samba
Для более постоянного доступа вы можете смонтировать сетевой общий ресурс непосредственно в вашу файловую систему, чтобы он выглядел как локальный каталог.
sudo mount -t cifs //SERVER/sharename /mnt/mountpoint -o user=username,pass=password
Эта команда использует тип файловой системы cifs для подключения удаленного общего ресурса к локальной точке монтирования.