5. Samba

Десятилетиями основной проблемой в средах со смешанными ОС была совместное использование файлов между машинами 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 для подключения удаленного общего ресурса к локальной точке монтирования.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Попробуйте настроить простой общий ресурс Samba на своей собственной машине Linux. Создайте каталог, настройте его в smb.conf и попытайтесь получить к нему доступ с помощью smbclient с той же машины, чтобы проверить конфигурацию. Для более практического опыта изучите комплексный Учебный путь Linux, чтобы попрактиковаться в связанных навыках и концепциях Linux.

Тест

Как называется протокол, ранний диалект SMB, который был разработан для совместного использования файлов? Пожалуйста, ответьте на английском языке, обращая внимание на регистр.