Перейти до змісту

Спільний доступ до файлів Samba Windows

Вступ

Якщо ви коли-небудь мали справу з системами Windows, ви, ймовірно, знаєте про SMB (Server Message Block) для обміну файлами. Якщо ви досвідчений адміністратор Linux, швидше за все, ви чули про Samba, але якщо ви ще ні, Samba є де-факто відкритою реалізацією SMB для обмін файлами та доступ до Active Directory з машин Linux до мереж Windows.

Встановлення

Вам потрібно встановити Samba за допомогою dnf:

dnf install -y samba

Налаштування доступу

По-перше, створіть каталог, яким ви хочете надати спільний доступ клієнтам Windows:

mkdir /var/store

Далі встановіть мітки SELinux у каталозі /var/store:

semanage fcontext -a -t samba_share_t  "/var/store(/.*)?"
restorecon -Rv /var/store

Замініть /var/store на каталог, до якого потрібно надати спільний доступ.

Тепер налаштуйте Samba:

vi /etc/samba/smb.conf

У файлі smb.conf перейдіть униз і вставте наступне:

[Share]
        path = /var/store
        browseable = yes
        writable = no
        read only = yes
        guest ok = yes

Якщо ви не знаєте про наведені вище параметри, це:

  • path це каталог, до якого ми надаємо спільний доступ. Встановіть це у відповідний каталог (/var/store у нашому випадку).
  • browseable дозволяє клієнтам переглядати доступ. Якщо ви хочете заборонити перегляд, встановіть для цього параметра значення no.
  • writable дозволяє клієнтам доступ до запису. Якщо ви бажаєте дозволити доступ для запису, встановіть значення yes.
  • read only позначає спільний ресурс як доступний лише для читання. Якщо ви бажаєте дозволити доступ для запису або виконання, встановіть значення no.
  • guest ok дозволяє дозволити неавтентифікованим користувачам доступ до нашого ресурсу. Якщо ви хочете відмовити гостям, установіть для цього параметра значення «ні».

Щоб перевірити конфігурацію, ви можете запустити:

testparm

Увімкнення Samba

Після перевірки конфігурації, відкрийте порт Samba в firewall-cmd:

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

Далі ви можете ввімкнути Samba:

systemctl enable --now smb nmb

Доступ до папки Samba

Ви можете отримати доступ до спільного ресурсу Samba за допомогою такого URI (Примітка: замініть SERVER_IP на IP-адресу або FQDN вашої машини, на якій запущено Samba):

  • Windows: \\SERVER_IP
  • Linux or Mac: smb://SERVER_IP

SERVER_IP у домашній мережі автора — 172.20.0.100, тож хоча інструкції залежать від операційної системи, автор отримає доступ до нового спільного ресурсу зі свого блокнота Fedora 40:

Fedora 40 Nautilus showing our Samba Share

Усі файли, доступні на сервері, також доступні на клієнтських машинах.

Висновок

Хоча SMB має репутацію орієнтованого на Microsoft, він є галузевим стандартом, і доступ до спільного ресурсу Samba можна отримати з Linux, Mac, BSD і навіть мобільних пристроїв. Отже, вітаємо, тепер ви ділитеся файлами свого сервера!

Author: Neel Chauhan

Contributors: Steven Spencer, Ganna Zhyrnova