Встановлення та налаштування файлового сервера в Linux

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

Встановлення та налаштування файлового сервера в Linux

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

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

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

  1. Відкрийте &171; Пуск & 187; і запустіть звідти &171;командний рядок&187; , знайшовши додаток через пошук.
  2. Переход к командной строке в Windows для определения параметров общего доступа с Linux
  3. Тут вам буде потрібно ввести просту команду net config workstation і натиснути на клавішу Enter .
  4. Команда для определения имени рабочей группы в Windows для дальнейшей настройки Linux
  5. В відобразився списку відшукайте рядок &171;домен робочої станції&187; і запам'ятайте її значення.
  6. Поиск строки названия рабочей группы в Windows
  7. Знову в консолі введіть notepad C:\Windows\System32\drivers\etc\hosts для Відкриття відомого файлу hosts через стандартний &171; Блокнот&187; .
  8. Команда для запуска файла hosts в Windows для разрешения доступа к Linux
  9. Тут в кінці вставте рядок 192.168.0.1 srvr1.domain.com srvr1 , замінивши IP на адресу Комп'ютера з Samba, і збережіть всі зміни.
  10. Настройка файла hosts для предоставления доступа к Linux

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

Крок 2: Встановлення Samba в Linux

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

  1. Відкрийте меню програм і запустіть &171;Термінал&187; .
  2. Переход к терминалу для дальнейшей установки Samba Linux
  3. Тут потрібно ввести команду sudo apt-get install -y samba samba-common python-glade2 system-config-samba . Вона відповідає за інсталяцію додаткових компонентів разом з файловим сервером.
  4. Ввод команды для установки Samba в Linux включая все дополнительные компоненты
  5. Підтвердьте справжність облікового запису суперкористувача, написавши пароль. Символи, що вводяться в цей рядок, на екрані не відображаються, тому не варто переживати через те, що букв або цифр не видно.
  6. Подтверждение установки Samba в Linux путем ввода пароля суперпользователя
  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 &8212; відповідає за назву робочої групи. Її ми вже дізнавалися в Windows, і тут потрібно задати точно таку ж назву, оскільки воно повинно бути однаковим абсолютно на всіх Сполучених пристроях.
  2. Netbios name &8212; використовується для відображення імені поточного комп'ютера на пристрої під управлінням Windows. Задайте оптимальне для себе Значення.
  3. Log file &8212; вказується шлях до файлу, куди будуть зберігатися звіти. Створити подібний запис потрібно обов'язково, щоб завжди бути в курсі можливих помилок і інших відомостей.
  4. Passdb backend &8212; визначає спосіб зберігання паролів облікових записів. Без потреби краще не змінювати і залишити в стані за замовчуванням.
  5. Unix password sync &8212; при активації виконує синхронізацію паролів.
  6. Map to guest &8212; відповідає за надання гостьового рівня доступу певним профілям. Якщо значення встановлено в стан bad user , то така настройка застосовується для неіснуючих користувачів, bad password & 8212; при неправильному введенні паролів, а never &8212; ніколи.

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

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

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

  1. Запустіть &171;Термінал&187; і введіть там 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 здійснюється шляхом переходу по \\srvr1\allaccess . Зараз за тим же прикладом, який ми привели в попередньому етапі, розберемо значення кожного встановлюваного параметра:

  • Path . Як ви бачите зі значення, тут вказується шлях до створеної загальнодоступної директорії.
  • Browsable . Цей параметр відповідає за відображення директорії в списку дозволених.
  • Writable . Позначте значення yes , якщо ви хочете дозволити створення записів у цій папці.
  • Guest ok . Цей рядок відповідає за гостьовий доступ.
  • Read only . Якщо ви знаєте переклад цієї фрази, то вже здогадуєтеся, що станеться, якщо активувати параметр. Він відповідає за атрибут &171;тільки читання&187; для вказаної директорії.

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

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

  1. Створіть директорію за тим же принципом через sudo mkdir -p /samba/allaccess/secured .
  2. Команда для создания общей защищенной папки в Samba в Linux
  3. Як ви могли здогадатися, цю дію також слід підтвердити, ввівши пароль суперкористувача.
  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. Тепер ви можете вирішити, чи підходить вам така схема спільного доступу, чи є сенс знайти інший інструмент, здатний забезпечити більш відповідні налаштування.

Більше статей на цю тему: