Налаштування Samba в CentOS 7

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

Налаштування Samba в CentOS 7

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

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

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

  1. Відкрийте &171; Пуск & 187; , через пошук відшукайте &171;командний рядок&187; і запустіть цю програму від імені адміністратора.
  2. Переход к командной строке Windows для дальнейшей настройки Samba в CentOS 7
  3. Введіть команду net config workstation , щоб дізнатися поточну конфігурацію робочої станції. Активуйте дію натисканням на клавішу Enter .
  4. Команда для определения домена рабочей станции перед настройкой Samba в CentOS 7
  5. Дочекайтеся появи списку. У ньому відшукайте пункт &171;домен робочої станції&187; і запам'ятайте його значення.
  6. Определение домена рабочей группы перед настройкой Samba в CentOS 7
  7. У цій же сесії консолі введіть рядок notepad C:\Windows\System32\drivers\etc\hosts , щоб відкрити необхідний файл через встановлений за замовчуванням &171; Блокнот&187; .
  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, за замовчуванням встановлені в розглянутій операційній системі, тому їх доведеться додавати вручну. Всі ці дії будуть виконані через &171;Термінал&187; , а також вам потрібно переконатися в наявності активного підключення до Інтернету і можливості використовувати команду 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. Введіть пароль суперкористувача, щоб підтвердити дану дію. Враховуйте, що написані в цьому рядку Символи не відображаються.
  6. Ввод пароля для подтверждения комплексной установки компонентов Samba в CentOS 7
  7. Ви будете повідомлені про те, що почався процес установки. Під час цього не закривайте & 171; Термінал&187; , інакше всі налаштування будуть автоматично скинуті.
  8. Ожидание завершения комплексной установки Samba в CentOS 7
  9. По завершенні операції з'являться рядки, що повідомляють про те, що встановлені необхідні утиліти і їх залежності &8212; можна переходити далі.
  10. Информация об успешном завершении комплексной установки Samba в CentOS 7

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

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

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

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

Параметр опис
path тут вписується шлях до тієї самої папки, яка обрана загальнодоступною
browsable активація цього параметра дозволить відображати каталог у списку дозволених
writable зазначену папку можна буде редагувати, якщо значення цього параметра вказано як yes
guest ok активуйте цей пункт, якщо хочете надати спільний доступ до папки
read only використовуйте позитивне значення цього параметра, щоб встановити значення папки &171; тільки для читання&187;

Крок 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. Вам залишилося тільки слідувати наведеним інструкціям, змінюючи параметри і їх значення під себе, щоб створити оптимальну конфігурацію.

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