Як встановити та налаштувати Samba на Ubuntu: повний покроковий посібник
Samba — це потужний набір програмного забезпечення з відкритим кодом, який забезпечує безперебійний обмін файлами та друком між комп’ютерами, на яких працюють Windows та операційні системи, подібні до Unix, такі як Ubuntu. Встановивши та правильно налаштувавши Samba, ви можете подолати розрив між середовищами Linux та Windows, дозволяючи користувачам обох платформ обмінюватися файлами, каталогами та навіть принтерами в локальній або глобальній мережі.
Незалежно від того, керуєте ви домашною лабораторією, мережею малого бізнесу чи виробничим серверним середовищем, цей комплексний посібник проведе вас через кожен крок встановлення, налаштування та захисту Samba на Ubuntu — включаючи розширені параметри, які більшість посібників пропускають.
Передумови
Перед тим, як почати, переконайтеся, що у вас є:
- Сервер або машина, на якій працює Ubuntu 20.04, 22.04 або 24.04
- Доступ Sudo або root до системи
- Базове розуміння командного рядка Linux
- Мережева з’єднаність між машинами, які ви хочете підключити
Якщо ви запускаєте Samba на віддаленому сервері, надійне та продуктивне середовище хостингу є важливим. VPS Hosting від AlexHost надає вам повний доступ root, виділені ресурси та гнучкість для налаштування вашого сервера саме так, як вам потрібно.
Крок 1: Оновлення пакетів системи
Перед встановленням будь-якого нового програмного забезпечення критично важливо оновити індекс пакетів вашої системи та оновити існуючі пакети до їхніх найновіших версій. Це забезпечує сумісність та захищає від відомих вразливостей.
sudo apt update && sudo apt upgrade -yДочекайтеся завершення процесу перед тим, як продовжити.
Крок 2: Встановлення Samba
Встановіть пакет Samba за допомогою менеджера пакетів APT:
sudo apt install samba -yПісля завершення встановлення перевірте його успішність, перевіривши версію Samba:
smbd --versionВи повинні побачити результат, подібний до:
Version 4.15.13-UbuntuВи також можете перевірити, що служба Samba працює:
sudo systemctl status smbdРезультат повинен показати службу як active (running).
Крок 3: Резервна копія файлу конфігурації Samba за замовчуванням
Перед внесенням будь-яких змін завжди робіть резервну копію вихідного файлу конфігурації. Це дозволяє вам відновити значення за замовчуванням, якщо щось піде не так:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bakЦе найкраща практика, яку багато посібників пропускають, але яку завжди дотримуються досвідчені системні адміністратори.
Крок 4: Створення та налаштування спільного каталогу
4.1 Створення каталогу
Вирішіть, який каталог ви хочете спільно використовувати в мережі. Для цього посібника ми створимо виділену папку з назвою shared всередині домашнього каталогу:
mkdir ~/shared4.2 Встановлення дозволів каталогу
Встановіть відповідні дозволи для каталогу. Для спільного середовища, де кільком користувачам потрібен доступ на читання та запис:
chmod 777 ~/shared> Примітка безпеки: Параметр chmod 777 надає повні дозволи на читання, запис та виконання всім користувачам. Хоча це зручно для тестування, це не рекомендується для виробничих середовищ. У виробничому налаштуванні використовуйте більш обмежувальні дозволи, такі як chmod 770, та керуйте доступом через членство в групі.
Крок 5: Налаштування Samba — редагування smb.conf
Відкрийте основний файл конфігурації Samba за допомогою текстового редактора:
sudo nano /etc/samba/smb.confПрокрутіть до самого кінця файлу та додайте наступний блок конфігурації:
[SharedFolder]
path = /home/username/shared
available = yes
valid users = username
read only = no
browsable = yes
public = yes
writable = yesЗамініть username на ваше фактичне ім’я користувача системи Ubuntu.
Розуміння кожної директиви
| Директива | Опис |
|---|---|
path | Абсолютний шлях до каталогу, який спільно використовується |
available | Чи доступна спільна папка користувачам |
valid users | Обмежує доступ до перелічених користувачів |
read only | Встановіть на no, щоб дозволити доступ на запис |
browsable | Чи з’являється спільна папка при перегляді мережі |
public | Дозволяє доступ без автентифікації (використовуйте обережно) |
writable | Дозволяє користувачам записувати файли в спільну папку |
Після внесення змін збережіть файл, натиснувши CTRL + O, потім Enter та вийдіть за допомогою CTRL + X.
Перевірка конфігурації
Перед перезапуском Samba протестуйте файл конфігурації на помилки синтаксису:
testparmЦя команда аналізує файл smb.conf та повідомляє про будь-які проблеми. Виправте будь-які помилки перед тим, як продовжити.
Крок 6: Створення облікового запису користувача Samba
Samba ведеться власна база даних паролів, окрема від стандартних паролів системи Linux. Ви повинні додати пароль, специфічний для Samba, для будь-якого користувача, який потребує доступу до спільної папки.
sudo smbpasswd -a usernameВам буде запропоновано ввести та підтвердити пароль. Цей пароль буде потрібен при підключенні до спільної папки з віддаленої машини Windows або Linux.
> Порада: Використовуйте надійний, унікальний пароль для кожного користувача Samba. Уникайте повторного використання системних паролів.
Щоб увімкнути обліковий запис користувача в Samba (якщо він був раніше вимкнений):
sudo smbpasswd -e usernameКрок 7: Налаштування брандмауера
Якщо у вас увімкнено UFW (Uncomplicated Firewall) на вашому сервері Ubuntu, вам потрібно дозволити трафік Samba через брандмауер:
sudo ufw allow sambaПеревірте, що правило було додано:
sudo ufw statusSamba використовує наступні порти:
- TCP 445 — SMB через TCP (основний)
- TCP 139 — служба сеансу NetBIOS
- UDP 137 & 138 — служби імен та датаграм NetBIOS
Крок 8: Перезапуск та увімкнення служб Samba
Застосуйте зміни конфігурації, перезапустивши служби Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbdУвімкніть обидві служби для автоматичного запуску при завантаженні системи:
sudo systemctl enable smbd
sudo systemctl enable nmbdСлужба nmbd обробляє розпізнавання імен NetBIOS, що важливо для того, щоб клієнти Windows могли виявити ваш сервер Samba за назвою в локальній мережі.
Крок 9: Доступ до спільної папки з системи Windows
З будь-якого комп’ютера Windows в одній мережі ви тепер можете підключитися до вашої спільної папки Ubuntu Samba:
- Відкрийте File Explorer
- У адресному рядку введіть мережевий шлях до вашої машини Ubuntu:
ubuntu_ip_addressSharedFolderЗамініть ubuntu_ip_address на фактичну IP-адресу вашого сервера Ubuntu (наприклад, 192.168.1.100SharedFolder)
- Коли вам буде запропоновано, введіть ім’я користувача Samba та пароль, які ви налаштували на кроці 6
- Спільна папка тепер з’явиться в File Explorer, і ви можете читати, писати, копіювати та видаляти файли так само, як з будь-якою локальною папкою
Підключення спільної папки як мережевого диска (необов’язково)
Для постійного доступу ви можете підключити спільну папку Samba як мережевий диск у Windows:
- Клацніть правою кнопкою миші на This PC у File Explorer
- Виберіть Map network drive
- Виберіть букву диска та введіть мережевий шлях
- Встановіть прапорець Reconnect at sign-in для автоматичного монтування
Крок 10: Доступ до спільної папки Samba з іншої системи Linux
На іншій машині Linux ви можете підключитися до спільної папки Samba за допомогою інструменту командного рядка smbclient.
Спочатку встановіть smbclient, якщо він ще не встановлений:
sudo apt install smbclient -yПотім підключіться до спільної папки:
smbclient //ubuntu_ip_address/SharedFolder -U usernameВведіть пароль Samba, коли вам буде запропоновано. Ви потрапите в інтерактивну оболонку, подібну до FTP, де ви можете використовувати команди, такі як ls, get, put та cd для навігації та передачі файлів.
Монтування спільної папки Samba на Linux
Для більш безперебійного досвіду ви можете змонтувати спільну папку Samba як локальну файлову систему за допомогою cifs-utils:
sudo apt install cifs-utils -y
sudo mkdir /mnt/samba_share
sudo mount -t cifs //ubuntu_ip_address/SharedFolder /mnt/samba_share -o username=username,password=yourpasswordЩоб зробити монтування постійним при перезавантаженні, додайте запис до /etc/fstab:
//ubuntu_ip_address/SharedFolder /mnt/samba_share cifs username=username,password=yourpassword,_netdev 0 0> Порада безпеки: Замість зберігання облікових даних у /etc/fstab, використовуйте файл облікових даних з обмеженими дозволами.
Крок 11: Розширені параметри конфігурації Samba
smb.conf підтримує широкий спектр директив, які дають вам точний контроль над вашим середовищем спільного використання файлів. Ось найбільш корисні розширені параметри:
Доступ тільки для читання
Щоб запобігти змінам файлів користувачами в спільній папці, встановіть:
read only = yesГостьовий доступ (анонімні спільні папки)
Щоб дозволити користувачам підключатися без пароля:
guest ok = yes
public = yes> Використовуйте гостьовий доступ лише в надійних, ізольованих мережах. Ніколи не вмикайте його на публічному сервері.
Обмеження доступу за IP-адресою
Щоб обмежити, які машини можуть підключатися до спільної папки:
hosts allow = 192.168.1.0/24
hosts deny = ALLЦе обмежує доступ лише до машин у підмережі 192.168.1.x.
Кілька спільних папок
Ви можете визначити стільки спільних папок, скільки потрібно, додавши додаткові блоки до smb.conf:
[Documents]
path = /home/username/documents
valid users = username
read only = no
writable = yes
[Backups]
path = /srv/backups
valid users = admin
read only = yes
browsable = noВстановлення максимальної кількості з’єднань
Щоб обмежити кількість одночасних з’єднань до спільної папки:
max connections = 10Примусове використання конкретного користувача або групи
Щоб переконатися, що всі файли створюються з конкретною власністю користувача або групи:
force user = samba_user
force group = samba_groupКрок 12: Захист вашої інсталяції Samba
Безпека є найважливішою, особливо якщо ваш сервер Samba доступний за межами вашої локальної мережі. Дотримуйтеся цих найкращих практик зміцнення:
1. Вимкнення гостьового доступу
Якщо явно не потрібно, завжди вимикайте анонімний доступ:
map to guest = Never2. Використання надійних паролів
Забезпечте надійні, унікальні паролі для всіх користувачів Samba. Уникайте слів зі словника та використовуйте комбінацію великих літер, малих літер, цифр та символів.
3. Обмеження видимості спільної папки
Встановіть browsable = no на чутливих спільних папках, щоб вони не з’являлися при перегляді мережі. Користувачі, які знають точний шлях, все ще можуть підключитися.
