Як розшарити папку для всіх в CentOS

За замовчуванням доступ до папок в операційній системі CentOS обмежений, тому в разі потреби отримання загальної мережевої директорії необхідно змінити певні параметри. У виконанні даної процедури немає нічого складного, проте потрібно встановити додатковий інструмент і зробити зміни в файлі конфігурації. Ми пропонуємо крок за кроком розібратися із здійсненням поставленого завдання.

Робимо папку загальної в CentOS

Відразу відзначимо, що застосовані сьогодні зміни будуть поширюватися на всі комп'ютери локальної мережі незалежно від встановленої там ОС. Тобто доступ до каталогу зможе отримати користувач ПК під управлінням Windows або, наприклад, macOS. Вся настройка відбувається на тому пристрої, де і знаходиться та сама директорія. Давайте почнемо з першого кроку.

Крок 1: Установка і запуск Samba

Samba - безкоштовне програмне забезпечення, функціональність якого зосереджена на взаємодії з мережевими об'єктами. Саме за допомогою цього інструменту і буде виконуватися відкриття локального доступу для необхідної папки. У CentOS ця утиліта не входить в стандартний пакет, тому її доведеться додати самостійно, а робиться це так:

  1. Відкрийте стандартну консоль, наприклад, через іконку в меню додатків.
  2. Відкриття терміналу для надання загального доступу до папки в CentOS

  3. Введіть там команду sudo yum install samba samba-common і натисніть на клавішу Enter.
  4. Команда для установки додаткового інструменту Samba в CentOS

  5. Приставка sudo означає, що дія буде виконуватися від імені суперкористувача, тому доведеться підтвердити справжність облікового запису шляхом вказівки пароля.
  6. Підтвердження пароля для установки додаткового інструменту Samba в CentOS

  7. З'явиться повідомлення про намір додати нові пакети в ОС, прийміть його, вибравши варіант y.
  8. Підтвердження додавання нових пакетів Samba в CentOS

  9. Для постійної роботи сервісу необхідно, щоб він запускався разом з CentOS. Додайте його в автозавантаження за допомогою sudo chkconfig --level 345 smb on .
  10. Додати утиліту Samba в автозапуск CentOS

  11. Після цього запустіть службу Samba командою service smb start і переходите до наступного кроку.
  12. Запуск виконання додаткової утиліти Samba в CentOS

Крок 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

Відкриття портів для настройки додаткової утиліти Samba в CentOS

В цьому випадку був використаний стандартний інструмент управління фаєрволом iptables. При необхідності проведення додаткової конфігурації брандмауера ми радимо ознайомитися з керівництвом, представленим в окремій нашій статті за наступним посиланням.

Детальніше: Налаштування iptables в CentOS 7

Крок 3: Запуск конфіга Samba і вивчення параметрів

Надання загального доступу до папки здійснюється за допомогою зміни конфігураційного файлу Samba. У ньому використовується певний синтаксис, свої параметри і значення. Якщо ви бажаєте і далі працювати з цим інструментом, рекомендується знати хоча б основні поняття. Однак для початку давайте розберемося з запуском цього файлу налаштувань.

  1. Ми радимо використовувати зручний консольний текстовий редактор nano. За замовчуванням він відсутній в CentOS, тому інсталюйте його, ввівши команду sudo yum install nano .
  2. Установка текстового редактора nano для редагування Samba в CentOS

  3. Підтвердіть дію, вказавши пароль від облікового запису користувача root.
  4. Введення пароля для установки текстового редактора nano для Samba в CentOS

  5. Запустіть конфігураційний файл, виконавши sudo nano /etc/samba/smb.conf .
  6. Запуск конфігураційного файлу утиліти Samba в CentOS

  7. Тепер на екрані відображається весь вміст файлу.
  8. Редагування вмісту конфігураційного файлу Samba в CentOS

Як бачите, в конфігурації вже задані певні правила як глобальні, так і окремі. Ознайомимося з основними правилами і їх значеннями:

  • 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 і про те, як приблизно виглядає секція - набір правил для певної папки. Залишилося тільки зробити таку групу. Якщо необхідний каталог ще не існує, створіть його за допомогою команди mkdir /home/user/ashare , де / home / user / ashare - шлях до директорії і її назва.

  1. Відкрийте текстовий редактор nano, як це було показано в попередньому кроці.
  2. Внесіть зміни, наприклад:

    [Folder]
    path = /tmp
    public = yes
    writable = yes
    printable = no
    write list = +staff

    Тут Folder - назва секції, path = / tmp - шлях до папки, а всі інші параметри відкривають повний доступ для всіх учасників локальної мережі. Користувачі зможуть не тільки переглядати вміст, а й всіляко редагувати його. Після внесення змін натисніть на Ctrl + O, щоб зберегти їх.

  3. Збереження змін конфігураційного файлу Samba в CentOS

  4. Не міняйте ім'я файлу для запису, а просто натисніть Enter.
  5. Відхилення змін в назві конфігураційного файлу Samba в CentOS

  6. Вийдіть з текстового редактора через Ctrl + X.
  7. Вихід з текстового редактора після редагування Samba в CentOS

  8. Оновлення конфігурацію, активувавши service smb reload .
  9. Оновлення конфігурації утиліти Samba в CentOS

  10. Перевірте працездатність всіх секцій testparm -s /etc/samba/smb.conf .
  11. Перевірка працездатності всіх параметрів Samba в CentOS

  12. Якщо виникли будь-які помилки, потрібно перезавантажити сервіс: service smb restart .
  13. Перезапуск сервісу Samba в CentOS

Окремо хотілося б відзначити, що права доступу для користувачів одного пристрою настроюються іншими методами. Утиліта Samba не призначена для виконання цих операцій. Якщо ж ви цікавитеся темою настройки привілеїв на одній локальній машині, читайте керівництво по цій темі в матеріалі далі.

Детальніше: Налаштування прав доступу в Linux

Віддалений каталог в CentOS пропаде з мережевої папки, але врахуйте, що задані параметри в файлі конфігурації залишаться. Тому при очищенні папок потрібно редагувати і налаштування використовуваної сьогодні утиліти, прибравши всі зайві секції.

Читайте також: Видалення каталогів в Linux

Тепер ви володієте інформацією про те, як можна без будь-яких труднощів розшарити папку в CentOS. По завершенні цієї процедури каталог з'явиться на всіх локальних пристроях. Наприклад, шлях на Windows матиме вигляд: linuxServerFolder , де linuxServer - назва батьківської машини, а Folder - та сама папка.