Изучаване на Linux, 302 (смесени среди) Samba роли
Архитектура, принципи и схема на работа
Серия съдържание:
Това съдържание е част # от поредица # статии: Изучаване на Linux, 302 (смесени среди)
Това съдържание е част от поредицата: Изучаване на Linux, 302 (смесени среди)
Очаквайте нови статии от тази серия.
Относно този сериал
Тази поредица от статии ще ви помогне да овладеете задачите по администриране на операционната система Linux. Можете да използвате материалите в тези статии, за да се подготвите за изпитите за LPIC ниво 3 (LPIC-3).
Кратък преглед
В тази статия ще научите за следните понятия:
- Режими на защита на Samba.
- Роли на основните Samba демони.
- Управление на Samba демон.
Предпоставки
За да извлечете максимума от нашите статии, трябва да имате напреднали познания по Linux и да имате работещ компютър с Linux, на който можете да изпълнявате всички описани команди. По-специално, предполага се, че читателят е запознат с командния ред на Linux и има общо разбиране за предназначението на Samba (както беше обсъдено в предишната статия „Изучаване на Linux, 302: Основи“). Трябва да имате инсталиран софтуер Samba на вашия компютър, за да завършите примерите в тази статия. Някои стъпки изискват мрежова среда, която използва протокола Server Message Block (SMB)/Common Internet File System (CIFS).
Самба демони
Относно незадължителния изпит LPI-302
Подобно на много други програми, програмата за сертифициране на Linux Professional Institute (LPIC) предоставя различни нива на сертифициране, като всяко следващо ниво изисква по-задълбочени познания и практически опит.опит. Изпитът LPI-302 е избираем изпит в третото ниво на програмата LPIC, който изисква напреднали познания по администриране на Linux система.
Сертифицирането за ниво 3 на LPIC (LPIC-3) изисква успешно полагане на два изпита от ниво 1 (101 и 102), два изпита от ниво 2 (201 и 202) и основен изпит от ниво 3 301 (LPIC-3). Ако сте получили сертификат от ниво 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 клиент. Въпреки това, както показва практиката, ако winbindd работи на Linux машина, тогава той вероятно ще работи със Samba сървър или ще бъде SMB/CIFS клиент.
Управление на Samba
Управлението на система Samba включва две задачи: задаване на опции за конфигурация в конфигурационен файл и промяната им в движение. В първия случай задачата се решава чрез редактиране на конфигурационния файл на Samba, а във втория случай с помощта на помощната програма за конфигуриране smbcontrol.
Задаване на параметри в конфигурационния файл
Основният конфигурационен файл на Samba се нарича smb.conf и обикновено се намира в директорията /etc/samba, въпреки че може да се намира на друго място (ако компилирате Samba от източника, той може да е в директорията /usr/local/samba/lib).
Файлът smb.conf е разделен на секции, всяка от които започва с име, оградено в квадратни скоби ( [] ), като [global] или [documents] . Повечето раздели конфигурират настройките за споделени ресурси (файлове или принтери), но разделът [global] е специален: той съдържа настройки, които засягат работата на целия сървър или задават стойности по подразбиране, използвани в следващите дефиниции на споделяния. Обикновено секцията [global] е в самото начало на конфигурационния файл.
Параметърът е ключова дума, като сигурност или създаване на маска. Имената на параметрите не са чувствителни към главни и малки букви. Има синоними за някои общи параметри и антоними за някои. Например, writable и writeable са синоними, а read only е антоним за тях, т.е. read only = Да е еквивалентно на writable =Не.
Променливите започват със знак за процент ( % ) и са предназначени да съхраняват информация, която може да не е известна по време на създаването на конфигурационния файл. Например %D е името на работната група или домейна на сървъра, %h е DNS името на сървъра, %H е домашната директория на потребителя, %L е NetBIOS името на сървъра и %u е потребителското име.
Някои параметри могат да бъдат списъци с множество стойности, като например списъци с потребителски имена. В тези случаи елементите от списъка се разделят със запетаи (например george, mary се отнася както за потребителя george, така и за потребителя mary). По-голямата част от файла smb.conf игнорира знака за интервал, така че ако дадена стойност съдържа такъв знак, той трябва да бъде ограден в кавички.
Файлът smb.conf съдържа опции за smbd, nmbd, winbindd и други услуги и приложения на Samba. Параметрите на различни програми не са изрично разделени един от друг, въпреки че понякога името на параметъра показва ясно за кой демон е предназначен.
Управление на Samba с smbcontrol
Програмата smbcontrol се използва за управление на работеща Samba система. Например, можете да кажете на Samba да спре споделянето на определен ресурс, да принуди процедура за избор на главен браузър, да презареди конфигурационен файл и т. н. Основният синтаксис за тази команда е както следва:
Използването на опцията -i поставя smbcontrol в интерактивен режим, където можете да изпълнявате няколко команди на свой ред, без да пишете smbcontrol пред името на командата всеки път. В полето за местоназначение можете да посочите името на сървъра (smbd, nmbd или winbindd), ключовата дума all (ако искате да изпратите съобщение до всички демони) или ID номер на процес. Полесъобщението е команда (списъкът с команди е даден в таблица 1). В полето за параметър можете да посочите незадължителен параметър, който може да се изисква от всяка команда.
Таблица 1. Списък на smbcontrol команди
близо споделяне | Затваря публичния достъп до посочения в параметъра ресурс. |
отстраняване на грешки | Задава нивото на отстраняване на грешки, посочено от параметъра. |
силови избори | Стартира принудителна процедура за избор на главен браузър. |
ниво на отстраняване на грешки | Показва текущото ниво на отстраняване на грешки на демона. |
printnotify | Изпраща съобщение до клиенти, свързани към споделен принтер, като налага промени в състоянието на клиентската опашка. |
samsync | Синхронизира потребителската база данни с домейн контролера (официалната документация казва, че тази функция в момента не работи, така че я тествайте, преди да я използвате). |
изключвам | Спира посочения демон. |
използване на басейн | Показва информация за използването на паметта за посочения демон. |
drvupgrade | Уведомява клиентите за наличен нов драйвер за принтер. Тази команда приема името на споделения принтер като параметър. |
reload-config | Казва на сървъра да принуди презареждане на файла smb.conf. |
Настройка на режима на защита
Samba има редица опции, свързани с удостоверяването на потребителя. Най-важният от тях е параметърът за сигурност, който може да приема пет различни стойности:
- Споделяне . Този режим на защита емулираудостоверяване, използвано от операционните системи Microsoft® Windows 9x/Windows Me. В този режим потребителските имена се игнорират и паролите се присвояват на споделянията. В този режим Samba се опитва да използва парола, предоставена от клиента, която може да се използва от различни потребители.
- Потребител . Този режим на защита е зададен по подразбиране и използва потребителско име и парола за удостоверяване, както обикновено се прави в Linux. Повечето съвременни операционни системи съхраняват пароли в криптирана база данни, която използва само Samba.
- Сървър . Този режим на защита се използва, когато Samba трябва да се удостовери на друг сървър. За клиенти този режим изглежда по същия начин като удостоверяване на потребителско ниво (Потребителски режим), но всъщност Samba се свързва със сървъра, посочен в параметъра на сървъра за пароли, за да извърши удостоверяване.
- Домейн . Използвайки този режим на защита, можете напълно да се присъедините към домейн на Windows; за клиентите това изглежда същото като удостоверяване на ниво потребител. За разлика от удостоверяването на ниво сървър, удостоверяването, базирано на домейн, използва по-сигурен обмен на пароли на ниво домейн. Пълното присъединяване към домейн изисква допълнителни команди, които да се изпълняват в системата Samba и евентуално в домейн контролера.
- ADS . Този режим на защита е подобен на метода за удостоверяване на домейна, но изисква домейн контролер на Active Directory® Domain Services.
За да се присъедините напълно към домейн (режим на защита на домейн или ADS), трябва да посочите няколко допълнителни опции в секцията [global] на файла smb.conf:
Вместо DOMCONT трябва да посочитеиме на домейн контролер. Освен това на Samba сървъра, към който искате да се присъедините към домейна, трябва да изпълните следната команда:
Може също да се наложи да конфигурирате домейн контролер, за да присъедините Samba сървъра към домейн. Този проблем е разгледан в цел 312.4 (Контрол на домейн).
Тъй като повечето клиенти днес разбират потребителските имена, рядко има нужда от сигурност на ниво ресурс. Използването на този режим води само до объркване и намалява нивото на сигурност: паролите се сравняват с много акаунти и ако една парола случайно стигне до друг потребител, това ще създаде значителен риск за вашия сървър.