Як встановити та налаштувати Samba на Linux: Повний технічний посібник
Samba — це реалізація протоколу SMB/CIFS (Server Message Block / Common Internet File System) з відкритим вихідним кодом, яка дозволяє серверам на базі Linux та Unix спільно використовувати файли, принтери та інші ресурси з клієнтами Windows — а також з іншими машинами Linux. Вона виступає мостом між операційними системами, що робить її стандартом де-факто для міжплатформного мережевого обміну файлами у змішаних середовищах.
Коротка відповідь на основне питання: встановлення Samba на Linux вимагає встановлення пакета `samba` через менеджер пакетів вашого дистрибутива, визначення блоків спільного доступу в `/etc/samba/smb.conf`, створення облікових даних користувача Samba за допомогою `smbpasswd` та відкриття портів 137–139 і 445 у вашому брандмауері. Наведені нижче розділи охоплюють кожен рівень цього процесу з точними технічними деталями.
Що Samba насправді робить під капотом
Samba працює як набір демонів. Розуміння того, який демон що робить, запобігає значній кількості помилок конфігурації:
- `smbd` — обробляє спільний доступ до файлів і принтерів, автентифікацію та блокування ресурсів через TCP-порти 445 і 139.
- `nmbd` — керує розпізнаванням імен NetBIOS через UDP-порти 137 і 138. Необхідний для перегляду мережі Windows (Network Neighborhood / «Мережа» у Провіднику файлів).
- `winbindd` — інтегрує Samba з Active Directory або доменами NT4, забезпечуючи автентифікацію доменних користувачів на хості Linux. Не потрібен для автономного обміну файлами.
Коли клієнт Windows відкриває `servershare`, він спочатку розпізнає ім’я сервера через DNS або NetBIOS (nmbd), а потім встановлює сеанс SMB з smbd через порт 445. Samba узгоджує найвищий взаємно підтримуваний діалект SMB — SMB 3.1.1 на сучасних системах — і відображає віддалений ресурс на літеру диска або UNC-шлях на клієнті.
Передумови
Перш ніж продовжити, підтвердьте наступне:
- Сервер Linux під управлінням Ubuntu 20.04/22.04/24.04, Debian 11/12, CentOS Stream 8/9, RHEL 8/9 або Fedora 38+.
- Доступ root або `sudo`.
- Статична приватна IP-адреса, призначена серверу (критично важлива для стабільного монтування ресурсів).
- Базове знайомство з операціями в терміналі та дозволами на файли.
- Доступ до брандмауера (UFW, firewalld або iptables) для відкриття необхідних портів.
Якщо ви розгортаєте Samba на хмарному або віртуальному сервері, середовище VPS Хостинг надає вам повний root-доступ та контроль над мережею, необхідні для керування демонами, правилами брандмауера та постійними монтуваннями без обмежень спільних середовищ.
Крок 1: Встановлення Samba
Використовуйте менеджер пакетів, відповідний для вашого дистрибутива. Завжди спочатку оновлюйте індекс пакетів, щоб уникнути встановлення застарілих версій.
Debian / Ubuntu:
“`bash
sudo apt-get update
sudo apt-get install samba samba-common-bin
“`
CentOS Stream / RHEL:
“`bash
sudo dnf install samba samba-client samba-common
“`
Fedora:
“`bash
sudo dnf install samba samba-client samba-common
“`
Arch Linux:
“`bash
sudo pacman -S samba
“`
Після встановлення перевірте встановлену версію:
“`bash
smbd –version
“`
На системах на базі RHEL також встановіть `samba-client`, щоб отримати діагностичну утиліту `smbclient`, яку ви будете використовувати на наступних кроках для тестування з’єднання.
Крок 2: Резервне копіювання та редагування основного файлу конфігурації
Вся конфігурація Samba знаходиться в `/etc/samba/smb.conf`. Цей єдиний файл контролює глобальну поведінку сервера, модель безпеки, визначення ресурсів спільного доступу та журналювання. Перш ніж торкатися його, створіть резервну копію з міткою часу:
“`bash
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup.$(date +%F)
“`
Відкрийте файл для редагування:
“`bash
sudo nano /etc/samba/smb.conf
“`
Файл поділений на розділи. Розділ `[global]` визначає параметри всього сервера. Окремі розділи ресурсів спільного доступу (наприклад, `[sambashare]`) визначають конкретні спільні ресурси.
Критичні глобальні параметри для перегляду
У розділі `[global]` зверніть увагу на ці налаштування:
“`ini
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = MYSERVER
security = user
map to guest = bad user
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* .
pam password change = yes
min protocol = SMB2
max protocol = SMB3
“`
Ключове спостереження: Директива `min protocol = SMB2` явно вимикає SMB1, який є застарілим з 2014 року і є вектором для таких експлойтів, як EternalBlue (MS17-010). Ніколи не залишайте SMB1 увімкненим на робочому сервері. Сучасні Windows 10/11 та всі поточні клієнти Linux CIFS підтримують SMB2 та SMB3 нативно.
Крок 3: Створення та підготовка спільного каталогу
Створіть каталог, який буде доступний через мережу:
“`bash
sudo mkdir -p /srv/sambashare
“`
Встановіть власника та дозволи. Правильний підхід залежить від того, чи потрібен вам гостьовий доступ або доступ лише для автентифікованих користувачів.
Для доступу автентифікованих користувачів (рекомендовано для виробництва):
“`bash
sudo chown root:sambashare /srv/sambashare
sudo chmod 2770 /srv/sambashare
“`
Дозвіл `2770` розшифровується як:
- `2` — біт setgid: нові файли успадковують групу каталогу, запобігаючи фрагментації власності у спільних ресурсах з кількома користувачами.
- `7` — власник (root) має права читання, запису, виконання.
- `7` — група (sambashare) має права читання, запису, виконання.
- `0` — інші не мають доступу.
Для гостьового/публічного доступу (домашня лабораторія або внутрішня LAN):
“`bash
sudo chown nobody:nogroup /srv/sambashare
sudo chmod 0777 /srv/sambashare
“`
Не використовуйте `0777` на серверах, доступних з інтернету. Гостьові ресурси з дозволами на запис для всіх підходять лише для ізольованих, довірених мереж.
Крок 4: Створення системної групи та користувача
Для автентифікованих ресурсів спільного доступу створіть спеціальну групу Linux, яка відповідає вашому ресурсу Samba:
“`bash
sudo groupadd sambashare
“`
Додайте користувача Linux, який матиме доступ до ресурсу:
“`bash
sudo useradd -M -s /sbin/nologin sambauser
sudo usermod -aG sambashare sambauser
“`
Прапорець `-M` пропускає створення домашнього каталогу (це обліковий запис служби, а не інтерактивний користувач). Прапорець `-s /sbin/nologin` запобігає використанню облікового запису для входу через SSH або консоль — критичний крок посилення безпеки, який більшість посібників пропускає.
Тепер зареєструйте користувача у власній базі даних паролів Samba (окремо від `/etc/shadow`):
“`bash
sudo smbpasswd -a sambauser
sudo smbpasswd -e sambauser
“`
Прапорець `-a` додає користувача; прапорець `-e` активує обліковий запис. Samba підтримує власне сховище облікових даних за адресою `/var/lib/samba/private/passdb.tdb` (або файл `smbpasswd` залежно від налаштування `passdb backend`). Користувач може існувати в Linux без реєстрації в базі даних Samba, і навпаки — він повинен бути зареєстрований в обох.
Крок 5: Визначення ресурсу спільного доступу в smb.conf
Додайте наступний блок у кінець `/etc/samba/smb.conf`. Показано дві конфігурації: одна для автентифікованого доступу, інша для гостьового доступу.
Автентифікований ресурс спільного доступу (рекомендовано для виробництва)
“`ini
[sambashare]
path = /srv/sambashare
comment = Authenticated Network Share
browsable = yes
writable = yes
read only = no
guest ok = no
valid users = @sambashare
create mask = 0660
directory mask = 2770
force group = sambashare
“`
Опис параметрів:
- `valid users = @sambashare` — префікс `@` означає «будь-який член групи Linux з іменем sambashare». Це більш масштабовано, ніж перелічення окремих імен користувачів.
- `create mask = 0660` — нові файли створюються з дозволами rw-rw—-, запобігаючи файлам, доступним для читання всіма.
- `directory mask = 2770` — нові підкаталоги успадковують біт setgid та дозволи групи.
- `force group = sambashare` — примушує всі файлові операції використовувати групу sambashare, незалежно від основної групи підключеного користувача.
Гостьовий ресурс спільного доступу (домашня лабораторія / внутрішня LAN)
“`ini
[public]
path = /srv/sambashare
comment = Public Network Share
browsable = yes
writable = yes
read only = no
guest ok = yes
guest account = nobody
create mask = 0664
directory mask = 0775
“`
Крок 6: Перевірка конфігурації
Перш ніж перезапускати будь-яку службу, запустіть вбудований аналізатор конфігурації:
“`bash
testparm
“`
`testparm` читає `smb.conf`, повідомляє про синтаксичні помилки та виводить ефективну конфігурацію після застосування значень за замовчуванням. Зверніть увагу на будь-які рядки `WARNING` — вони часто вказують на застарілі параметри або неправильні конфігурації безпеки. Чистий вивід закінчується:
“`
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
“`
Якщо `testparm` повідомляє про помилки, виправте їх перш ніж продовжувати. Перезапуск smbd з пошкодженим файлом конфігурації призводить до того, що служба мовчки завершується з помилкою або повертається до значень за замовчуванням.
Крок 7: Перезапуск та увімкнення демонів Samba
Debian / Ubuntu:
“`bash
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd
“`
CentOS / RHEL / Fedora:
“`bash
sudo systemctl restart smb nmb
sudo systemctl enable smb nmb
“`
Перевірте, що обидва демони працюють:
“`bash
sudo systemctl status smbd nmbd # Debian/Ubuntu
sudo systemctl status smb nmb # RHEL/Fedora
“`
Перевірте, що демони прослуховують правильні порти:
“`bash
sudo ss -tlnp | grep -E '(smbd|nmbd|445|139)'
“`
Очікуваний вивід повинен показувати `smbd`, прив’язаний до порту 445 і 139.
Крок 8: Налаштування правил брандмауера
Samba вимагає відкриття наступних портів:
| Порт | Протокол | Служба | Призначення |
|---|
| —— | ———- | ——— | ——— |
|---|
| 137 | UDP | nmbd | Служба імен NetBIOS |
|---|
| 138 | UDP | nmbd | Служба датаграм NetBIOS |
|---|
| 139 | TCP | smbd | Служба сеансів NetBIOS (SMB через NetBIOS) |
|---|
| 445 | TCP | smbd | Прямий SMB (SMB2/SMB3 — основний порт) |
|---|
UFW (Debian/Ubuntu):
“`bash
sudo ufw allow 'Samba'
sudo ufw status
“`
firewalld (CentOS/RHEL/Fedora):
“`bash
sudo firewall-cmd –permanent –add-service=samba
sudo firewall-cmd –reload
sudo firewall-cmd –list-services
“`
iptables (вручну):
“`bash
sudo iptables -A INPUT -p tcp –dport 445 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 139 -j ACCEPT
sudo iptables -A INPUT -p udp –dport 137:138 -j ACCEPT
“`
Примітка щодо безпеки: Якщо ваш сервер Samba доступний з інтернету (не рекомендується для стандартного обміну файлами), обмежте ці правила конкретними діапазонами вихідних IP-адрес за допомогою `-s 192.168.1.0/24` або аналогічного інструменту. Відкриття портів SMB для публічного інтернету є серйозним ризиком безпеки.
Крок 9: Міркування щодо SELinux (RHEL/CentOS/Fedora)
На системах із примусовим SELinux Samba вимагає додаткових міток контексту для спільних каталогів. Без них smbd буде заблоковано від доступу до шляху, навіть якщо дозволи Linux правильні.
“`bash
sudo setsebool -P samba_enable_home_dirs on
sudo setsebool -P samba_export_all_rw on
sudo semanage fcontext -a -t samba_share_t "/srv/sambashare(/.*)?"
sudo restorecon -Rv /srv/sambashare
“`
Перевірте, що контекст було застосовано:
“`bash
ls -lZ /srv/sambashare
“`
Вивід повинен показувати `system_u:object_r:samba_share_t:s0` як контекст SELinux. Пропуск цього кроку є найпоширенішою причиною збоїв ресурсів спільного доступу Samba на системах сімейства RHEL — служба, здається, запускається правильно, але клієнти отримують помилки «Доступ заборонено».
Крок 10: Доступ до ресурсу спільного доступу з Windows
На клієнті Windows:
- Відкрийте Провідник файлів.
- У адресному рядку введіть: `<server-ip>sambashare` і натисніть Enter.
- Коли з’явиться запит, введіть ім’я користувача та пароль Samba.
- Щоб зробити з’єднання постійним, клацніть правою кнопкою миші на ресурсі та виберіть Підключити мережевий диск.
Для сценарних або корпоративних розгортань підключіть диск з командного рядка:
“`cmd
net use Z: 192.168.1.100sambashare /user:sambauser /persistent:yes
“`
Крок 11: Доступ до ресурсу спільного доступу з Linux
Використання smbclient (інтерактивний, для тестування):
“`bash
smbclient //192.168.1.100/sambashare -U sambauser
“`
Це відкриває інтерактивну оболонку, схожу на FTP. Використовуйте `ls`, `get`, `put` та `exit` для навігації та передачі файлів.
Постійне монтування ресурсу спільного доступу за допомогою CIFS:
Спочатку встановіть пакет утиліт CIFS:
“`bash
sudo apt-get install cifs-utils # Debian/Ubuntu
sudo dnf install cifs-utils # RHEL/Fedora
“`
Створіть точку монтування та файл облікових даних (ніколи не вказуйте паролі в `/etc/fstab` у відкритому тексті):
“`bash
sudo mkdir -p /mnt/sambashare
sudo nano /etc/samba/credentials
“`
Вміст файлу облікових даних:
“`
username=sambauser
password=yourpassword
domain=WORKGROUP
“`
Захистіть файл облікових даних:
“`bash
sudo chmod 600 /etc/samba/credentials
sudo chown root:root /etc/samba/credentials
“`
Додайте монтування до `/etc/fstab` для збереження після перезавантаження:
“`
//192.168.1.100/sambashare /mnt/sambashare cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,iocharset=utf8,vers=3.0,_netdev 0 0
“`
Параметр `_netdev` вказує системі чекати доступності мережі перед спробою монтування — необхідно на серверах, які монтують мережеві ресурси під час завантаження. Параметр `vers=3.0` примусово використовує SMB3, уникаючи відкату до старіших діалектів.
Перевірте запис fstab без перезавантаження:
“`bash
sudo mount -a
“`
Порівняння версій протоколу SMB
Вибір правильного діалекту SMB впливає на продуктивність, безпеку та сумісність. Наступна таблиця підсумовує ключові відмінності:
| Версія SMB | Рік | Ключові функції | Безпека | Рекомендоване використання |
|---|
| ————- | —— | ————– | ———- | —————– |
|---|
| SMB1 | 1983 | Базовий обмін файлами | Критично вразливий (EternalBlue) | Ніколи не використовувати — вимкнути явно |
|---|
| SMB2 | 2006 | Конвеєризація, зменшена балакучість, підписання | Покращена | Застарілі клієнти Windows Vista/7 |
|---|
| SMB2.1 | 2010 | Оренда клієнтського oplock | Покращена | Windows 7/2008 R2 |
|---|
| SMB3.0 | 2012 | Багатоканальність, шифрування, відмовостійкість | Висока | Windows 8/2012 та пізніші |
|---|
| SMB3.1.1 | 2015 | Цілісність перед автентифікацією, AES-128-GCM | Найвища | Windows 10/11, сучасний Linux |
|---|
Завжди встановлюйте `min protocol = SMB2` у `[global]` та надавайте перевагу `SMB3` там, де всі клієнти підтримують його. SMB3.1.1 із шифруванням (`smb encrypt = required`) є правильним вибором для будь-якого ресурсу, що містить конфіденційні дані.
Samba проти NFS: вибір правильного протоколу
І Samba (SMB/CIFS), і NFS широко використовуються для мережевого обміну файлами на базі Linux, але вони служать різним цілям:
| Критерій | Samba (SMB/CIFS) | NFS |
|---|
| ———- | —————– | —– |
|---|
| Основний випадок використання | Міжплатформний (Linux + Windows) | Обмін між Linux-системами |
|---|
| Підтримка клієнтів Windows | Нативна, без потреби у клієнтському ПЗ | Потребує встановлення клієнта NFS |
|---|
| Підтримка macOS | Нативна (SMB) | Підтримується через вбудований клієнт NFS |
|---|
| Автентифікація | Ім’я користувача/пароль, інтеграція з AD | На основі хоста (IP/ім’я хоста) |
|---|
| Продуктивність (LAN) | Дещо вищі накладні витрати | Нижчі накладні витрати, швидше в LAN |
|---|
| Шифрування | SMB3 підтримує шифрування AES | NFSv4.2 підтримує шифрування krb5 |
|---|
| Складність налаштування | Помірна | Нижча для середовищ лише з Linux |
|---|
| Найкраще для | Змішані середовища ОС, інтеграція з доменом | Однорідні кластери Linux, HPC |
|---|
Якщо ваша інфраструктура є виключно Linux — наприклад, кластер Виділених серверів, що виконує контейнеризовані навантаження — NFS може запропонувати нижчу затримку. Для будь-якого середовища з клієнтами Windows або користувачами macOS Samba є правильним вибором.
Поширені помилки та усунення несправностей
Ресурс спільного доступу видно, але повертає «Доступ заборонено»
- На системах із SELinux: Перевірте та застосуйте контекст `samba_share_t`, як описано в кроці 9.
- Перевірте дозволи Linux: Підключений користувач (або обліковий запис `nobody` для гостьових ресурсів) повинен мати доступ на читання/запис на рівні файлової системи до шляху, незалежно від власних ACL Samba.
- Перевірте smbpasswd: Користувач повинен бути доданий за допомогою `smbpasswd -a` та активований за допомогою `smbpasswd -e`.
Ресурс спільного доступу не видно при перегляді мережі
- Підтвердьте, що `nmbd` працює: `sudo systemctl status nmbd`.
- Переконайтеся, що `browsable = yes` встановлено у визначенні ресурсу спільного доступу.
- Windows 10/11 вимкнули службу «Браузер комп’ютерів», що залежить від SMB1. Використовуйте прямі UNC-шляхи (`ipshare`) замість покладання на виявлення мережі.
Повільна швидкість передачі
- Примусово використовуйте SMB3 з `vers=3.0` або `vers=3.1.1` у параметрах монтування.
- Увімкніть великий MTU: додайте `socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072` до `[global]`.
- Перевірте, чи доступний багатоканальний SMB: `smbstatus –verbose`.
Журнали та діагностика
“`bash
sudo tail -f /var/log/samba/log.smbd
sudo smbstatus
sudo pdbedit -L -v # List all Samba users
“`
Samba у виробництві: архітектурні міркування
Для виробничих розгортань, що виходять за рамки простого обміну файлами, розгляньте наступне:
Інтеграція з Active Directory: Samba 4 може функціонувати як повноцінний контролер домену Active Directory, підтримуючи LDAP, Kerberos, DNS та групову політику. Це значний архітектурний крок за межі автономного обміну файлами і вимагає підготовки `samba-ad-dc`.
Ресурси домашніх каталогів: Мета-служба `[homes]` у `smb.conf` автоматично створює персональний ресурс для кожного автентифікованого користувача, відображений на його домашній каталог Linux. Це усуває необхідність визначати окремі блоки ресурсів для кожного користувача.
Спільний доступ до принтерів: Samba інтегрується з CUPS для спільного використання принтерів у мережі. Визначення ресурсів `[printers]` та `[print$]` обробляють це, хоча спільний доступ до принтерів став менш поширеним із розвитком хмарних служб друку.
Квоти: Samba поважає квоти файлової системи Linux. Реалізуйте квоти на рівні файлової системи за допомогою інструментів `quota`, і Samba буде прозоро їх застосовувати.
Для команд, що запускають веб-додатки поряд із ресурсами спільного доступу до файлів, поєднання Samba з VPS з cPanel надає вам керовану панель управління для веб-хостингу, зберігаючи при цьому повний SSH-доступ для адміністрування Samba. Для середовищ, що потребують кількох служб хостингу під одним дахом, перегляд доступних Панелей управління VPS допомагає визначити правильний рівень управління для вашого стеку.
Якщо ваш сервер Samba також розміщує веб-контент або дані додатків, захист його за допомогою SSL-сертифіката для будь-яких пов’язаних веб-служб гарантує, що весь стек відповідає сучасним стандартам безпеки.
Контрольний список ключових технічних висновків
Використовуйте цей контрольний список перед тим, як вважати своє розгортання Samba готовим до виробництва:
- [ ] SMB1 явно вимкнено через `min protocol = SMB2` у `[global]`
- [ ] Користувачі Samba створені за допомогою `smbpasswd -a` та активовані за допомогою `smbpasswd -e`
- [ ] Облікові записи служб використовують `-s /sbin/nologin` для блокування доступу до оболонки
- [ ] Каталоги ресурсів спільного доступу використовують біт setgid (`chmod 2770`) для послідовного групового власника
- [ ] `testparm` виконується чисто без попереджень або помилок
- [ ] І `smbd`, і `nmbd` увімкнені та працюють
- [ ] Правила брандмауера обмежують порти SMB (445, 139, 137-138) лише довіреними вихідними IP-адресами
- [ ] Контекст SELinux (`samba_share_t`) застосовано на системах RHEL/CentOS/Fedora
- [ ] Файл облікових даних для монтувань CIFS має права `chmod 600` та належить root
- [ ] Записи `/etc/fstab` використовують параметр `_netdev` для монтувань, що залежать від мережі
- [ ] Журнали Samba переглянуто за адресою `/var/log/samba/` після початкового розгортання
- [ ] `smbstatus` підтверджує активні сеанси та заблоковані файли після розгортання
FAQ
Які порти використовує Samba і чи всі вони повинні бути відкриті?
Samba використовує TCP 445 (прямий SMB, обов’язковий), TCP 139 (SMB через NetBIOS, необхідний для застарілих клієнтів) та UDP 137-138 (розпізнавання імен NetBIOS, необхідне для перегляду мережі). Для сучасних середовищ з клієнтами Windows 10/11 або Linux, що використовують прямі UNC-шляхи, строго необхідний лише TCP 445. UDP 137-138 та TCP 139 можна заблокувати, якщо розпізнавання імен NetBIOS не потрібне.
Чому мій ресурс спільного доступу Samba працює з Linux, але повертає «Доступ заборонено» з Windows?
Це майже завжди проблема кешування облікових даних на стороні Windows. Windows кешує облікові дані SMB для кожного сеансу. Відкрийте Диспетчер облікових даних (Панель управління > Диспетчер облікових даних > Облікові дані Windows), видаліть усі кешовані записи для IP-адреси сервера, а потім підключіться знову. Якщо проблема не зникає, перевірте, що користувач активований у базі даних Samba за допомогою `sudo pdbedit -L -v`.
У чому різниця між `security = user` та `security = share` у smb.conf?
`security = share` (безпека на рівні ресурсу) є застарілим та видаленим у Samba 4. `security = user` (безпека на рівні користувача) є єдиним підтримуваним режимом у сучасній Samba — кожне з’єднання автентифікується за конкретним іменем користувача та паролем. Гостьовий доступ обробляється окремо через директиви `guest ok` та `map to guest`, а не через параметр `security`.
Чи може Samba співіснувати з NFS на одному сервері?
Так. Samba та NFS працюють на абсолютно різних портах і протоколах і не конфліктують на мережевому рівні. Однак спільне використання одного каталогу через обидва протоколи одночасно може спричинити конфлікти блокування файлів, особливо при операціях запису. Якщо вам необхідно надати спільний доступ до одних і тих самих даних через обидва протоколи, використовуйте розподілений менеджер блокувань (DLM) або обмежте один протокол доступом лише для читання.
Як додати кількох користувачів до одного ресурсу спільного доступу Samba?
Використовуйте групу Linux. Створіть групу (`groupadd teamshare`), додайте до неї користувачів (`usermod -aG teamshare user1`), встановіть групове власника каталогу ресурсу спільного доступу (`chown root:teamshare /srv/share`) та посилайтеся на групу в `smb.conf` за допомогою `valid users = @teamshare`. Цей підхід добре масштабується — додавання користувача до ресурсу вимагає лише команди `usermod` та реєстрації `smbpasswd -a`, без змін у `smb.conf`.
