Вивчаємо Linux, 302 (змішані середовища) Ролі Samba

Архітектура, принципи та схема роботи

Серія контенту:

Цей контент є частиною # із серії # статей: Вивчаємо Linux, 302 (змішані середовища)

Цей контент є частиною серії: Вивчаємо Linux, 302 (змішані середовища)

Слідкуйте за виходом нових статей цієї серії.

Про цю серію

Ця стаття серії допоможе вам освоїти завдання адміністрування операційної системи Linux. Ви можете використовувати матеріали цих статей для підготовки до іспитів LPIC третього рівня (LPIC-3).

Короткий огляд

З цієї статті ви дізнаєтеся про такі концепції:

  • Режими безпеки Samba.
  • Ролі основних демонів Samba.
  • Управління демонами Samba.

Попередні вимоги

Щоб отримати найбільшу користь з наших статей, необхідно мати просунуті знання про Linux і мати працездатний комп'ютер з Linux, на якому можна буде виконувати всі описані команди. Зокрема, передбачається, що читач вміє працювати з командним рядком Linux і загалом розуміє призначення Samba (про що розповідалося у попередній статті "Вивчаємо Linux, 302: основні принципи"). Для виконання прикладів цієї статті на вашому комп'ютері має інсталюватися програмне забезпечення Samba. Для виконання деяких дій потрібно мережеве оточення, в якому використовується протокол Server Message Block (SMB)/Common Internet File System (CIFS).

Демони Samba

Про факультативний іспит LPI-302

Як і багато інших програм, програма сертифікації Linux Professional Institute (LPIC) передбачає різні рівні сертифікації, де для отримання кожного наступного рівня необхідно володіти більш глибокими знаннями та практичнимдосвідом. Іспит LPI-302 – це факультативний іспит третього рівня програми LPIC, що вимагає просунутих знань у галузі системного адміністрування Linux.

Для отримання сертифіката LPIC третього рівня (LPIC-3) необхідно успішно скласти два іспити першого рівня (101 і 102), два іспити другого рівня (201 та 202), а також базовий іспит 301 третього рівня (LPIC-3). Якщо ви отримали сертифікат третього рівня, ви можете складати факультативні іспити за певними спеціалізаціями, наприклад, екзамен LPI-302.

Серверні служби Linux найчастіше реалізовані як демонів. Це слово було запозичене з грецької міфології, де демони були корисними надприродними істотами. Будь-який демон Linux працює у фоновому режимі та виконує певне корисне завдання. Серверний пакет Samba містить кілька демонів, включаючи smbd, nmbd та winbindd. Програма swat також є сервером Samba, але зазвичай вона запускається з-під супер-сервера і технічно не є демоном.

Розуміння smbd

Програма smbd забезпечує основну базову функціональність Samba, виконуючи такі функції:

Створіть свій власний канал

За замовчуванням демон smbd використовує TCP-порти 139 і 445. Порт 139 забезпечує роботу SMB через служби NetBIOS поверх TCP (саме так з SMB/CIFS працює більшість старіших клієнтів). Порт 445 забезпечує роботу SMB безпосередньо через TCP (через цей порт доступом до серверу Samba отримує більшість нових клієнтів).

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

Розуміння nmbd

Другим ключовим демоном Samba є nmbd. Його основним обов'язком є ​​виконання завдань, пов'язаних із використанням імен. Можна розглядати його як власну доменну систему імен (DNS) Samba, хоча він не такий складний у налаштуванні і набагато простіше, ніж DNS. Nmbd виконує такі функції:

Як видно з наведеного вище списку, nmbd відповідає за виконання безлічі завдань. Хоча ці завдання не пов'язані з обслуговуванням файлів або принтерів, багато з них є критичними функціями будь-якого сервера SMB/CIFS, тому демон nmbd також слід вважати важливим компонентом Samba. Зазвичай цей демон запускається разом із демоном smbd у сценаріях запуску операційної системи.

Для більшості функцій nmbd потрібно використовувати TCP-порт з номером 137, проте служба головного браузера використовує UDP-порт з номером 138.

Розуміння winbindd

Третій демон Samba - це демон winbindd. На відміну від smbd і nmbd , winbindd не надає ніяких сервісів віддаленим комп'ютерам, а служить інтерфейсом між контролером домену Windows® (або Samba) і власними PAM-модулями (Pluggable Authentication Modules – модулі аутентифікації), що підключаються, дозволяючи контролювати інформацію облікові записи Linux.

У багатьох дистрибутивах winbindd встановлюється окремо від Samba як самостійний пакет, який зазвичай називається winbind або winbindd . Як правило, він запускається теж окремо. В принципі, winbindd можна запускати на комп'ютері, на якому не встановлено серверSamba і навіть не є клієнтом SMB/CIFS, крім того, що winbindd сам є клієнтом SMB/CIFS. Однак, як показує практика, якщо на комп'ютері з Linux запущено winbindd , то, ймовірно, на ньому працюватиме сервер Samba або він буде клієнтом SMB/CIFS.

Управління Samba

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

Налаштування параметрів у конфігураційному файлі

Головний конфігураційний файл Samba називається smb.conf і зазвичай розташований у директорії /etc/samba, хоча може розташовуватися і в іншому місці (якщо ви компілюєте Samba з вихідного коду, то він може бути в директорії /usr/local/samba/lib).

Файл smb.conf розбитий на розділи, кожен із яких починається з імені, укладеного в квадратні дужки ( [] ), наприклад, [global] чи [documents] . У більшості розділів налаштовуються параметри загальних ресурсів (файлів або принтерів), однак розділ [global] є особливим: у ньому містяться параметри, які впливають на роботу всього сервера або задають стандартні значення, що використовуються в наступних визначеннях загальних ресурсів. Зазвичай розділ [global] знаходиться на початку конфігураційного файлу.

Параметр – це ключове слово, наприклад security або create mask . Імена параметрів не чутливі до регістру. Для деяких поширених параметрів є синоніми, а для деяких – антоніми. Наприклад, writable і writeable – це синоніми, а read only – антонім їм, т. е. конструкція read only = Yes еквівалентна конструкції writable =No.

Змінні починаються з символу відсотка (%) і призначені для зберігання інформації, яка може бути невідома на момент створення файлу конфігурації. Наприклад, змінна %D означає ім'я робочої групи або домену сервера, %h – DNS-ім'я сервера, %H – домашню директорію користувача, %L – NetBIOS-ім'я сервера та %u – ім'я користувача.

Деякі параметри можуть бути списками з кількох значень, наприклад, списки імен користувачів. У цих випадках елементи списку розділяються комами (наприклад, конструкція george, mary відноситься як користувача george , так і користувача mary ). У більшій частині файлу smb.conf символ пробілу ігнорується, тому якщо значення містить такий символ, воно має бути поміщене в лапки.

Файл smb.conf містить параметри для smbd, nmbd, winbindd, а також інших сервісів та програм Samba. Параметри різних програм не відокремлюються один від одного, хоча іноді ім'я параметра дозволяє ясно зрозуміти, якого демона він призначений.

Управління Samba за допомогою smbcontrol

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

При використанні опції -i програма smbcontrol перетворюється на інтерактивний режим, у якому можна виконувати по черзі кілька команд, не набираючи щоразу smbcontrol перед ім'ям команди. У полі призначення можна вказати ім'я сервера ( smbd , nmbd або winbindd ), ключове слово all (якщо потрібно надіслати повідомлення всім демонам) або номер ідентифікатора процесу. Полеповідомлення – це команда (список команд наведено у таблиці 1). У полі параметр можна вказати необов'язковий параметр, який може знадобитися будь-якій команді.

Таблиця 1. Список команд smbcontrol
Команда (повідомлення) Опис
close-shareЗакриває загальний доступ до ресурсу, вказаного у параметрі.
debugВстановлює рівень налагодження, вказаний у параметрі.
force-electionЗапускає примусову процедуру виборів головного браузера.
debuglevelВідображає поточний рівень налагодження демона.
printnotifyНадсилає повідомлення клієнтам, підключеним до спільного принтера, вносячи примусові зміни статус черги клієнтів.
samsyncСинхронізує базу даних користувачів з контролером домену (в офіційній документації сказано, що ця функція на даний момент не працює, тому протестуйте її перед використанням).
shutdownЗупиняє роботу вказаного демона.
pool-usageВідображає інформацію про використання пам'яті для вказаного демона.
drvupgradeПовідомляє клієнтів про новий доступний драйвер принтера. Як параметр цієї команди вказується ім'я спільного принтера.
reload-configВказує на сервер примусово перезавантажити файл smb.conf.

Встановлення режиму безпеки

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

  • Share . Цей режим безпеки емулює методавтентифікації операційної системи Microsoft® Windows 9x/Windows Me. У цьому режимі імена користувачів ігноруються, а паролі призначаються загальним ресурсам. У цьому режимі Samba намагається використовувати наданий клієнтом пароль, яким можуть користуватися різні користувачі.
  • User . Цей режим безпеки встановлено за промовчанням і використовує для автентифікації ім'я користувача та пароль, як це зазвичай робиться в Linux. У більшості випадків у сучасних операційних системах паролі зберігаються у зашифрованій базі даних, яку використовує лише Samba.
  • Server . Цей режим безпеки використовується тоді, коли потрібно, щоб Samba виконувала автентифікацію, звертаючись до іншого сервера. Для клієнтів цей режим виглядає так само, як аутентифікація на рівні користувача (режим User), але для виконання аутентифікації Samba звертається до сервера, вказаному в параметрі password server .
  • Domain . Використовуючи цей режим безпеки, можна повністю приєднатися до домену Windows; для клієнтів це виглядає так само, як автентифікація на рівні користувача. На відміну від автентифікації на рівні сервера, доменна автентифікація використовує більш захищений обмін паролями на рівні домену. Для повного приєднання до домену потрібно виконати додаткові команди в системі Samba і, можливо, на контролері домену.
  • ADS . Цей режим безпеки схожий на метод автентифікації в домені, але вимагає наявності контролера домену Active Directory® Domain Services.

Для повного приєднання до домену (режим безпеки Domain або ADS) необхідно вказати у розділі [global] файлу smb.conf кілька додаткових параметрів:

Замість DOMCONT необхідно вказатиім'я контролера домену. Крім того, на сервері Samba, який ви бажаєте приєднати до домену, необхідно виконати таку команду:

Для приєднання сервера Samba до домену також може знадобитися налаштувати контролер домену. Це питання розглядається у меті 312.4 (управління доменом).

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

Що далі

Ресурси для скачування

Схожі теми

Коментарі