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

Налаштовуємо Samba в CentOS 7

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

Крок 1: Підготовчі роботи в Windows

Почати варто саме з Віндовс, оскільки буде потрібно визначити важливу інформацію, без якої не обійтися без створення мережі і загальних папок. Вам буде потрібно визначити ім'я робочої групи і внести зміни в файл «Hosts», Щоб спроби підключення виявилася блокувалися. Все це виглядає наступним чином:

  1. Відкрийте «Пуск», Через пошук знайдете «Командний рядок» і запустіть цю програму від імені адміністратора.
  2. Перехід до командного рядка Windows для подальшої настройки Samba в CentOS 7

  3. Введіть команду net config workstation, Щоб дізнатися поточну конфігурацію робочої станції. Активуйте дію натисканням на клавішу Enter.
  4. Команда для визначення домену робочої станції перед налаштуванням Samba в CentOS 7

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

  7. У цій же сесії консолі введіть рядок notepad C: WindowsSystem32driversetchosts, Щоб відкрити потрібний файл через встановлений за замовчуванням «Блокнот».
  8. Запуск блокнота для настройки загального доступу в Windows перед налаштуванням Samba в CentOS 7

  9. Опустіться в кінець списку і вставте рядок 192.168.0.1 srvr1.domain.com srvr1, Замінивши цей IP на адресу пристрою, де далі буде налаштовуватися Samba. Після цього збережіть всі зміни.
  10. Налаштування загального доступу в Windows перед налаштуванням Samba в CentOS 7

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

Крок 2: Інсталяція Samba в CentOS 7

Далеко не всі компоненти, необхідні для коректного функціонування Samba, за замовчуванням встановлені в даній операційній системі, тому їх доведеться додавати вручну. Всі ці дії будуть виконані через «Термінал», А також вам потрібно переконатися в наявності активного підключення до інтернету і можливості використовувати команду sudo.

  1. Відкрийте консоль зручним для вас чином, наприклад, через меню додатків або стандартну комбінацію клавіш Ctrl + Alt + T.
  2. Запуск терміналу для подальшої установки Samba в CentOS 7

  3. тут введіть sudo yum install -y samba samba-common python-glade2 system-config-samba, Щоб запустити одночасну інсталяцію всіх необхідних додаткових утиліт.
  4. Команда для комплексної установки компонентів Samba в CentOS 7

  5. Введіть пароль користувача root, щоб підтвердити дану дію. Враховуйте, що написані в цьому рядку символи не відображаються.
  6. Введення пароля для підтвердження комплексної установки компонентів Samba в CentOS 7

  7. Ви будете повідомлені про те, що почався процес установки. Під час цього не закривайте «Термінал», Інакше всі налаштування будуть автоматично скинуті.
  8. Очікування завершення комплексної установки Samba в CentOS 7

  9. По завершенні операції з'являться рядки, повідомляють про те, що встановлені необхідні утиліти і їх залежності - можна переходити далі.
  10. Інформація про успішне завершення комплексної установки Samba в CentOS 7

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

Крок 3: Установка глобальних параметрів

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

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

  3. Ця дія, як і всі наступні, доведеться підтвердити, вказавши пароль суперкористувача.
  4. Підтвердження команди для створення резервної копії файлу налаштувань Samba в CentOS 7

  5. Наступні маніпуляції будуть проводитися безпосередньо з самим конфігураційним файлом. Для цього завжди використовується текстовий редактор. За стандартом в систему доданий vi, Але він не є досить зручним для початківців користувачів, тому ми рекомендуємо інсталювати nano через команду sudo yum install nano.
  6. Запуск установки текстового редактора перед налаштуванням Samba в CentOS 7

  7. якщо nano вже доданий в ОС, ви будете повідомлені про це.
  8. Інформація про успішну установку текстового редактора перед налаштуванням Samba в CentOS 7

  9. Тепер перейдемо до редагування конфігураційного файлу, ввівши sudo nano /etc/samba/smb.conf.
  10. Перехід до редагування файлового сервера Samba в CentOS 7 через текстовий редактор

  11. У вікні, введіть розташоване нижче вміст.

    [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

  12. Установка загальної конфігурації файлового сервера Samba в CentOS 7

  13. Натисніть клавіші Ctrl + O, Щоб записати зміни.
  14. Збереження спільної конфігурації файлового сервера Samba в CentOS 7

  15. Не змінюйте назву файлу, а просто натисніть на Enter.
  16. Підтвердження збереження загальної конфігурації файлового сервера Samba в CentOS 7

  17. Після цього можна залишити вікно текстового редактора, затиснувши Ctrl + X.
  18. Вихід з текстового редактора по завершенні налаштування файлового сервера Samba в CentOS 7

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

  • workgroup. Цей параметр визначає ім'я робочої групи. Його значення виставляється відповідно до визначеної в Windows інформацією.
  • netbios name. Поміняйте значення на довільне ім'я, яке хочете, щоб відображалося на ПК під управлінням Windows при взаємодії з цим пристроєм.
  • log file. Як значення цього параметра вкажіть шлях до файлу, де хочете зберігати журнали подій, що записуються під час функціонування файлового сервера.
  • passdb backend. Ця опція визначає тип зберігання паролів. Якщо ви не знаєте, що саме тут поставити, краще залиште цей пункт в значенні за замовчуванням.
  • unix password sync. Рекомендується активувати цей параметр, оскільки він відповідає за синхронізацію паролів /
  • map to guest. Використовується для позначення гостьового доступу. Має кілька значень: bad user застосовується для неіснуючих облікових записів, bad password завантажує гостьовий режим при неправильному введенні пароля, а never просто деактивує опцію.

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

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

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

  1. В «Терміналі» введіть sudo mkdir -p / samba / allaccess, Щоб створити згадану вище папку. Змініть її назву на довільне, якщо це потрібно.
  2. Створення папки для загального доступу до файлового сервера Samba в CentOS 7

  3. Приступайте до налаштування загального доступу, спочатку перемістившись по шляху cd / samba.
  4. Перехід до редагування створеної загальнодоступною папки в Samba в CentOS 7

  5. Тут вставте рядок sudo chmod -R 0755 allaccess і натисніть на Enter.
  6. Установка рівня доступу для створеної папки Samba в CentOS 7

  7. Ще один параметр sudo chown -R nobody: nogroup allaccess / відповідає за надання доступу абсолютно всім користувачам.
  8. Додаткова команда для установки рівнів доступу до папки Samba в CentOS 7

  9. Тепер потрібно позначити дану папку в файлі конфігурації. Для початку запустимо його через sudo nano /etc/samba/smb.conf.
  10. Перехід до додавання загальнодоступною папки в конфігураційний файл Samba в CentOS 7

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

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

  12. Внесення змін до конфігураційний файл після створення загальнодоступної папки Samba в CentOS 7

  13. Збережіть зміни і покиньте текстовий редактор.
  14. Збереження конфігураційного файлу Samba в CentOS 7 після внесення змін

  15. Всі настройки будуть застосовані тільки після перезапуску файлового сервера, тому зробіть це прямо зараз, написавши sudo systemctl restart samba.
  16. Перезапуск файлового сервера Samba в CentOS 7 після внесення змін

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

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

Крок 5: Створення захищеного каталогу

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

  1. Створимо директорію, яку далі будемо налаштовувати, скориставшись командою sudo mkdir -p / samba / allaccess / secured.
  2. Створення захищеної папки для файлового сервера Samba в CentOS 7

  3. Додайте групу, куди будуть входити дозволені користувачі, через sudo addgroup securedgroup.
  4. Створення групи для доступу до захищеної папці Samba в CentOS 7

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

  7. Тут задайте права для кожного окремого користувача через sudo chown -R richard: securedgroup secured. замініть ім'я richard в цій команді на необхідне.
  8. Створення правил для захищеної папки файлового сервера Samba в CentOS 7

  9. Залишилося тільки ввести загальну команду для безпеки sudo chmod -R 0770 secured /.
  10. Створення правил для користувачів захищеної папки Samba в CentOS 7

  11. Перейдіть до конфігураційного файлу (sudo nano /etc/samba/smb.conf), Щоб вказати ту папку, яку ми тільки що налаштували.
  12. Перехід до редагування конфігураційного файлу Samba в CentOS 7 для додавання захищеної папки

  13. Скопіюйте та вставте в редактор вказаний нижче блок.

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

  14. Внесення змін до конфігураційний файл після створення загальнодоступної папки Samba в CentOS 7

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

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

  19. Встановіть для кожної з них пароль sudo smbpasswd -a richard в якості останнього дії, завершального конфігурацію.
  20. Створення пароля для користувача захищеної директорії Samba в CentOS 7

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