Зміст
За замовчуванням доступ до папок в операційній системі CentOS обмежений, тому в разі потреби отримання загальної мережевої директорії необхідно змінити певні параметри. У виконанні даної процедури немає нічого складного, проте буде потрібно встановити додатковий інструмент і зробити зміни в конфігураційному файлі. Ми пропонуємо покроково розібратися зі здійсненням поставленого завдання.
Зробити папку спільною в CentOS
Відразу відзначимо, що застосовані сьогодні зміни будуть поширюватися на всі комп'ютери локальної мережі незалежно від встановленої там ОС. Тобто доступ до каталогу зможе отримати користувач ПК під управлінням Windows або, наприклад, macOS. Вся настройка відбувається на тому пристрої, де і знаходиться та сама директорія. Почнемо з першого кроку.
Крок 1: Встановлення та запуск Samba
Samba &8212; вільне програмне забезпечення, функціональність якого зосереджена на взаємодії з мережевими об'єктами. Саме за допомогою цього інструменту і буде виконуватися відкриття локального доступу для необхідної папки. У CentOS ця утиліта не входить в стандартний пакет, тому її доведеться додати самостійно, а робиться це так:
- Відкрийте стандартну консоль, наприклад, через іконку в меню додатків.
- Введіть там команду
sudo yum install samba samba-common
і натисніть на клавішу Enter . - Приставка sudo означає, що дія буде виконуватися від імені суперкористувача, тому доведеться підтвердити справжність облікового запису шляхом вказівки пароля.
- З'явиться повідомлення про намір додати нові пакети в ОС, прийміть його, вибравши варіант y .
- Для постійної роботи сервісу необхідно, щоб він запускався разом з CentOS. Додайте його в автозавантаження за допомогою
sudo chkconfig --level 345 smb on
. - Після цього запустіть службу Samba командою
service smb start
і перейдіть до наступного кроку.
Крок 2: Створення дозволів для Firewall
Вбудований в операційну систему фаєрвол ще не знає про те, що новому сервісу можна довіряти. Користувачеві вручну потрібно вказати це, внісши зміни в правила. Дозвіл активується пробросом портів, на яких працює Samba. Від вас вимагається лише активувати постійні права суперкористувача через su -
і по черзі вписати такі команди:
Iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 --dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 445 -j ACCEPT
У цьому випадку був використаний стандартний інструмент управління брандмауером iptables . При необхідності проведення додаткової конфігурації брандмауера ми радимо ознайомитися з керівництвом, представленим в окремій нашій статті за наступним посиланням.
Детальніше: Налаштування iptables на CentOS 7
Крок 3: Запуск конфігурації Samba та вивчення параметрів
Надання спільного доступу до папки здійснюється за допомогою зміни конфігураційного файлу Samba. У ньому використовується певний синтаксис, свої параметри і значення. Якщо ви бажаєте і далі працювати з цим інструментом, рекомендується знати хоча б основні поняття. Однак для початку давайте розберемося з запуском цього файлу налаштувань.
- Ми радимо використовувати зручний консольний текстовий редактор nano
. За замовчуванням він відсутній у CentOS, тому встановіть його, ввівши команду
sudo yum install nano
. - Підтвердьте дію, вказавши пароль від облікового запису суперкористувача.
- Запустіть файл конфігурації, виконавши
sudo nano /etc/samba/smb.conf
. - Тепер на екрані відображається весь вміст файлу.
Як бачите, в конфігурації вже задані певні правила як глобальні, так і окремі. Ознайомимося з основними правилами та їх значеннями:
Правило | Значення |
---|---|
workgroup | Назва робочої групи, до якої входить сервер |
server string | короткий довільний опис сервера |
interfaces | мережеві інтерфейси, доступні для підключення до секції |
hosts allow | хости, які можуть отримати доступ |
hosts deny | заборонені хости |
log file | Файл, куди будуть зберігатися всі повідомлення, коди помилок ДО інші дії |
max log size | максимальний розмір вищезазначеного файлу (після подолання максимуму створюється новий файл) |
security | спосіб перевірки автентичності користувачів |
guest account | Асоціація для гостьового рахунку |
Нижче ви бачите приклад оформлення секції.
[global]
Workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
map to guest = bad user
Крок 4: створення загальнодоступної папки
Тепер Ви знаєте про основні параметри Samba та про те, як приблизно виглядає розділ &8212; набір правил для певної папки. Залишилося тільки зробити таку групу. Якщо необхідний каталог ще не існує, створіть його за допомогою команди mkdir /home/user/ashare
, де
/home/user/ashare
&8212; шлях до Директорії та її назва.
- Запустіть текстовий редактор nano , як це було показано на попередньому кроці.
- Внесіть зміни, наприклад:
[Folder]
path = /tmp
public = yes
writable = yes
printable = no
write list = +staffТут Folder & 8212; назва розділу, path = /tmp &8212; шлях до папки, а всі інші параметри відкривають повний доступ для всіх учасників локальної мережі. Користувачі зможуть не тільки переглядати вміст, але і всіляко редагувати його. Після внесення змін натисніть на Ctrl + O , щоб зберегти їх.
- Не змінюйте ім'я файлу для запису, а просто натисніть Enter .
- Вийдіть з текстового редактора через Ctrl + X .
- Оновіть конфігурацію, активувавши
service smb reload
. - Перевірте працездатність всіх секцій
testparm -s /etc/samba/smb.conf
. - Якщо виникли будь-які помилки, потрібно перезавантажити сервіс:
service smb restart
.
Окремо б хотілося відзначити, що права доступу для користувачів одного пристрою налаштовуються іншими методами. Утиліта Samba не призначена для виконання цих операцій. Якщо ж ви цікавитеся темою настройки привілеїв на одній локальній машині, читайте Керівництво по цій темі в матеріалі далі.
Детальніше: Налаштування прав доступу в Linux
Віддалений каталог в CentOS пропаде з мережевої папки, але врахуйте, що задані параметри в конфігураційному файлі залишаться. Тому при очищенні папок потрібно редагувати і настройки використовуваної сьогодні утиліти, прибравши всі зайві секції.
Читайте також: видалення каталогів у Linux
Тепер ви володієте інформацією про те, як можна без будь-яких труднощів розшарити папку в CentOS. Після завершення цієї процедури каталог з'явиться на всіх локальних пристроях. Наприклад, шлях на Windows матиме вигляд: \\linuxServer\Folder
, де
linuxServer
& 8212; назва батьківської машини, а
Folder
&8212; та сама папка.