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

Встановлюємо та налаштовуємо файловий сервер в Linux

Хоч сьогоднішній матеріал і буде зосереджений на управлінні збірками Linux, що не обійдемо стороною і Віндовс, оскільки для початку вам доведеться виконати найпростіші маніпуляції в цій ОС, щоб в майбутньому настройка пройшла успішно і не виникло ніяких проблем з підключенням до групи. За приклад ми взяли зв'язку Windows 10 і Ubuntu. Якщо ви використовуєте інші ОС, просто дотримуйтеся особливостей їх реалізації, які не повинні значно відрізнятися від того, що ви побачите далі.

Крок 1: Попереднє налаштування Windows

При підготовці файлового сервера Samba понажобітся вказати деякі дані, пов'язані з операційною системою Windows. Додатково в самому Віндовс потрібно дозволити підключення для комп'ютера з Linux, оскільки спочатку з'єднання будуть блокуватися. Всі ці процедури виконуються буквально за кілька кліків і виглядають наступним чином:

  1. Відкрийте «Пуск» і запустіть звідти «Командний рядок», Знайшовши додаток через пошук.
  2. Перехід до командного рядка в Windows для визначення параметрів загального доступу з Linux

  3. Тут вам буде потрібно ввести просту команду net config workstation і натиснути на клавішу Enter.
  4. Команда для визначення імені робочої групи в Windows для подальшої настройки Linux

  5. В відобразиться списку відшукайте рядок «Домен робочої станції» і запам'ятайте її значення.
  6. Пошук рядка назви робочої групи в Windows

  7. Знову в консолі введіть notepad C: WindowsSystem32driversetchosts для відкриття відомого файлу hosts через стандартний «Блокнот».
  8. Команда для запуску файлу hosts в Windows для доступу до їхнього Linux

  9. Тут в кінці вставте рядок 192.168.0.1 srvr1.domain.com srvr1, Замінивши IP на адресу комп'ютера з Samba, і збережіть всі зміни.
  10. Налаштування файлу hosts для надання доступу до Linux

На цьому робота з Windows закінчується. Після ви зможете повернутися в цю ОС для настройки загального доступу і управління відкрилися папками, але поки це недоступно, оскільки конфігурація файлового сервера в Лінукс ще не проведена. Цим ми і пропонуємо зайнятися в наступних кроках.

Крок 2: Установка Samba в Linux

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

  1. Відкрийте меню додатків і запустіть «Термінал».
  2. Перехід до терміналу для подальшої установки Samba Linux

  3. Тут потрібно ввести команду sudo apt-get install -y samba samba-common python-glade2 system-config-samba. Вона відповідає за інсталяцію додаткових компонентів разом з файловим сервером.
  4. Введення команди для установки Samba в Linux включаючи всі додаткові компоненти

  5. Підтвердіть справжність облікового запису суперкористувача, написавши пароль. Символи, що вводяться в цей рядок, на екрані не відображаються, тому не варто переживати через те, що букв або цифр не видно.
  6. Підтвердження установки Samba в Linux шляхом введення пароля користувача root

  7. Потім почнеться процедура отримання та розпакування архівів. Вона може зайняти кілька хвилин, під час цієї операції краще не виконувати інших дій і не закривати консоль. Якщо з'явився новий рядок введення, значить, інсталяція успішно завершена.
  8. Очікування завершення установки Samba в Linux через термінал

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

Крок 3: Створення загальних параметрів

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

  1. Іноді якісь важливі параметри в файлі конфігурації все ж присутні за замовчуванням, через що виникає потреба створити його резервну копію, щоб відновити її при виникненні випадкових збоїв. Здійснюється це шляхом введення всього однієї команди sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.
  2. Команда для створення резервної копії конфігураційного файлу Samba в Linux

  3. Всі інші дії будуть проводитися через текстовий редактор. Оптимальним варіантом у цьому випадку є nano. Якщо цей додаток відсутній в вашому дистрибутиві, додайте його через sudo apt install nano.
  4. Команда для установки кастомними текстового редактора при налаштуванні Samba в Linux

  5. Після переходите до конфігураційного файлу, використовуючи sudo nano /etc/samba/smb.conf.
  6. Запуск конфігураційного файлу Samba в Linux через текстовий редактор

  7. У вікні, вставте наведені нижче рядки.

    [Global]
    workgroup = WORKGROUP
    server string =% h server (Samba, Ubuntu)
    netbios name = Ubuntu Share
    dns proxy = no
    log file = /var/log/samba/log.%m
    max log size = 1000
    passdb backend = tdbsam
    unix password sync = yes
    passwd program = / usr / bin / passwd% u
    pam password change = yes
    map to guest = bad user
    usershare allow guests = yes

  8. Вставка загальних параметрів в конфігураційний файл Samba в Linux

  9. використовуйте комбінацію Ctrl + O, Щоб зберегти зміни.
  10. Збереження налаштувань конфігураційного файлу Samba в Linux

  11. Назва файлу змінювати не потрібно, достатньо буде просто натиснути на клавішу Enter.
  12. Відмова від зміни імені при глобальної налаштування конфігураційного файлу Samba в Linux

  13. По завершенні вийдіть з текстового редактора, затиснувши Ctrl + X.
  14. Вихід з текстового редактора після глобальної настройки конфігураційного файлу Samba в Linux

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

  1. workgroup - відповідає за ім'я робочої групи. Її ми вже впізнавали в Windows, і тут потрібно задати точно таку ж назву, оскільки воно повинно бути однаковим абсолютно на всіх з'єднаних пристроях.
  2. netbios name - використовується для відображення імені поточного комп'ютера на пристрої під управлінням Windows. Задайте оптимальне для себе значення.
  3. log file - вказується шлях до файлу, куди будуть зберігатися звіти. Створити подібну запис потрібно обов'язково, щоб завжди бути в курсі можливих помилок і інших відомостей.
  4. passdb backend - визначає спосіб зберігання паролів облікових записів. Без потреби краще не змінювати і залишити в стані за замовчуванням.
  5. unix password sync - при активації виконує синхронізацію паролів.
  6. map to guest - відповідає за надання гостьового рівня доступу певним профілям. Якщо значення встановлено в стан bad user, То така настройка застосовується для неіснуючих користувачів, bad password - при неправильному введенні паролів, а never - ніколи.

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

Крок 4: Створення загальнодоступної папки

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

  1. запустіть «Термінал» і введіть там sudo mkdir -p / samba / allaccess для створення нової папки. Її ім'я ви можете поміняти на будь-який зручний.
  2. Команда для створення незахищеною папки загального доступу Samba в Linux

  3. Дана дія виконується разом з аргументом sudo, А це означає, що доведеться ввести пароль для підтвердження облікового запису.
  4. Підтвердження створення незахищеною папки Samba в Linux

  5. Після переходите до налаштування загального доступу для створеної директорії. Для початку перемістимося в корінь Samba через cd / samba.
  6. Перехід до кореню Samba в Linux для зміни доступу до створеної папці

  7. Тепер вставте команду sudo chmod -R 0755 allaccess і натисніть на Enter.
  8. Перша команда зміни доступу до загальної незахищеної папці Samba в Linux

  9. Буде потрібно вказати ще одну опцію sudo chown -R nobody: nogroup allaccess /, Яка відповідає за надання доступу абсолютно всіх облікових записів.
  10. Друга команда для зміни доступу до загальної незахищеної папці Samba в Linux

  11. Залишилося внести всі зміни в конфігураційний файл. Запустіть його через текстовий редактор, використовуючи вже знайому команду sudo nano /etc/samba/smb.conf.
  12. Запуск конфігураційного файлу для внесення змін після створення загальної незахищеної папки Samba в Linux

  13. Тут вставте наведений нижче блок, який відповідає за визначення правил поведінки сервера. Про значення кожного рядка ми також поговоримо трохи пізніше.

    [Allaccess]
    path = / samba / allaccess
    browsable = yes
    writable = yes
    guest ok = yes
    read only = no

  14. Внесення змін до Samba в Linux після створення загальної незахищеної папки

  15. Збережіть зміни і закрийте текстовий редактор, використовуючи спеціально відведені гарячі клавіші.
  16. Збереження конфігураційного файлу після створення незахищеною папки Samba в Linux

  17. Перезапустіть сервер через sudo systemctl restart samba, Щоб поточні настройки вступили в силу.
  18. Перезапуск файлового сервера після створення незахищеною загальної папки Samba в Linux

Перевірка доступу до створеної директорії в Windows здійснюється шляхом переходу по srvr1allaccess. Зараз за прикладом тим, який ми привели в попередньому етапі, розберемо значення кожного встановлюваного параметра:

  • path. Як ви бачите з значення, тут вказується шлях до створеної загальнодоступною директорії.
  • browsable. Цей параметр відповідає за відображення директорії в списку дозволених.
  • writable. відзначте значення yes, Якщо ви хочете дозволити створення записів в цій папці.
  • guest ok. Цей рядок відповідає за ідентифікацію.
  • read only. Якщо ви знаєте переклад цієї фрази, то вже здогадуєтеся, що станеться, якщо активувати параметр. Він відповідає за атрибут «Тільки читання» для зазначеної директорії.

Крок 5: Створення захищеної загальнодоступною папки

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

  1. Створіть директорію за тим же принципом через sudo mkdir -p / samba / allaccess / secured.
  2. Команда для створення загальної захищеної папки в Samba в Linux

  3. Як ви могли здогадатися, це дія теж слід підтвердити, ввівши пароль користувача root.
  4. Підтвердження створення загальної захищеної папки в Samba в Linux

  5. Після цього створіть групу, куди будуть входити дозволені користувачі, написавши sudo addgroup securedgroup.
  6. Додавання групи користувачів для доступу до захищеної папці Samba в Linux

  7. Перейдіть до розташування захищеної директорії, вказавши cd / samba / allaccess.
  8. Перехід до розташування захищеної папки для її управління в Samba в Linux

  9. Тут вкажіть права для користувачів, написавши sudo chown -R richard: securedgroup secured. замініть richard на потрібного імені облікового запису.
  10. Додавання групи для доступу до захищеної папці Samba в Linux

  11. Друга команда для забезпечення безпеки виглядає так: sudo chmod -R 0770 secured /.
  12. Друга команда загального доступу до захищеної папці Samba в Linux

  13. Прокрутіть до текстового редактора, відкривши там конфігураційний файл і написавши вже знайому команду sudo nano /etc/samba/smb.conf.
  14. Запуск конфігураційного файлу Samba в Linux для налаштування захищеної папки

  15. Вставте вказаний нижче блок і збережіть зміни.

    [Secured]
    path = / samba / allaccess / secured
    valid users = @securedgroup
    guest ok = no
    writable = yes
    browsable = yes

  16. Налаштування захищеної папки Samba в Linux в конфігураційному файлі

  17. Додайте користувача в захищену групу sudo usermod -a -G securedgroup richard. Якщо зазначеної облікового запису не існує, ви отримаєте відповідне повідомлення.
  18. Додавання користувача для доступу до захищеної папці Samba в Linux

  19. Створіть пароль, який буде відповідати за відкриття доступу через sudo smbpasswd -a richard.
  20. Перехід до додавання пароля для користувача Samba в Linux

  21. Введіть ключ безпеки в новий рядок, а потім підтвердіть його.
  22. Додавання пароля для користувача Samba в Linux

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

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