Samba – це потужний пакет програмного забезпечення з відкритим вихідним кодом, який забезпечує безперешкодний спільний доступ до файлів і принтерів між системами Linux/Unix і клієнтами Windows. Він дозволяє системам Linux виглядати як файлові сервери Windows, що робить його життєво важливим інструментом у змішаних середовищах, таких як корпоративні мережі або домашні комп’ютери.

У цьому посібнику ви дізнаєтеся, як встановити і налаштувати Samba на Linux-системі, що дозволить вам легко надавати спільний доступ до каталогів і керувати дозволами на доступ.

Що таке Samba?

Samba реалізує протоколи SMB (Server Message Block) і CIFS (Common Internet File System), які використовуються Windows для спільного доступу до файлів і принтерів. Вона дозволяє:

  • Системам Linux надавати спільний доступ до файлів з комп’ютерами під керуванням Windows

  • Системам Linux отримувати доступ до спільних папок Windows

  • Централізований доступ до спільних ресурсів у гетерогенних мережах

Крок 1: Встановлення Samba

Процес встановлення може дещо відрізнятися залежно від вашого дистрибутива Linux.

Для Debian/Ubuntu

sudo apt update
sudo apt install samba

Для CentOS/RHEL (7/8 ):

sudo yum install samba samba-client samba-common

Для Fedora

sudo dnf install samba

Щоб перевірити встановлення:

smbd --version

Крок 2: Створення спільного каталогу

Створіть каталог, до якого ви хочете надати спільний доступ користувачам мережі.

sudo mkdir -p /srv/samba/shared
sudo chown -R nobody:nogroup /srv/samba/shared
sudo chmod -R 0775 /srv/samba/shared

Ці дозволи дають доступ на читання/запис гостьовим користувачам (можна налаштувати для автентифікованих користувачів).

Крок 3: Налаштування сервера Samba

Відкрийте конфігураційний файл Samba:

sudo nano /etc/samba/smb.conf

Внизу файлу додайте наступний блок:

[Загальний доступ]
шлях = /srv/samba/shared
доступний дляперегляду = так
тільки для читання = ні
guest ok = так

Це визначає спільну папку з назвою “Shared”, до якої можна отримати доступ без пароля (гостьовий доступ). Для більшої безпеки вимкніть guest ok і налаштуйте доступ на рівні користувача.

Після редагування збережіть і закрийте файл.

Крок 4: Встановіть користувача Samba

Якщо ви віддаєте перевагу автентифікації користувача перед гостьовим доступом, створіть користувача Samba:

sudo useradd sambauser
sudo passwd sambauser
sudo smbpasswd -a sambauser

Потім налаштуйте блок спільного доступу в smb.conf:

[Загальний доступ]
шлях = /srv/samba/shared
допустимі користувачі = sambauser
тільки для читання = ні

Крок 5: Перезапуск служб Samba

Застосуйте нову конфігурацію, перезапустивши служби Samba:

sudo systemctl restart smbd
sudo systemctl enable smbd

Щоб перевірити статус:

sudo systemctl status smbd

Крок 6: Налаштування брандмауера

Якщо ви використовуєте брандмауер, дозвольте трафік Samba:

Для UFW (Ubuntu):

sudo ufw allow 'Samba'

Для firewalld (CentOS, Fedora):

sudo firewall-cmd --permanent --zone=public --add-service=samba
sudo firewall-cmd --reload

Крок 7: Доступ до спільної папки

З Windows:

  • Відкрийте файловий провідник

  • Введіть IP-адресу вашої системи Linux в адресний рядок, наприклад

    \\192.168.1.100\Shared
  • За необхідності пройдіть автентифікацію

З іншої системи Linux:

Скористайтеся утилітою smbclient:

smbclient //192.168.1.100/Shared -U sambauser

Або змонтуйте ресурс:

sudo mount -t cifs //192.168.1.100/Shared /mnt/samba -o username=sambauser

Висновок

Samba – це потужний інструмент, який заповнює прогалину між спільним використанням файлів у Linux і Windows. Незалежно від того, чи ви налаштовуєте домашній медіа-сервер, чи керуєте ресурсами у бізнес-мережі, Samba пропонує гнучкість і сумісність, необхідні для забезпечення безперешкодної взаємодії. Правильна конфігурація, контроль доступу користувачів і правила брандмауера допоможуть забезпечити безпечний і ефективний обмін файлами.

Якщо вам потрібна допомога з розширеними налаштуваннями, такими як спільний доступ до принтерів, Samba як контролер домену або інтеграція з Active Directory, не соромтеся звертатися за подальшими інструкціями.