Portál AbcLinuxu, 26. května 2024 17:08

Soukromá síť - III

21. 9. 2004 | Kamil Kantar
Články - Soukromá síť - III  

Ve třetím díle seriálu se budeme zabývat jedinou, zato však obsáhlejší konfigurací - nastavením serveru Samba jako primárního doménového řadiče domény NT.

Samba - úvod

Samba je balík nástrojů, který umožňuje na unixových či linuxových serverech využívat protokol SMB (Server Message Block) vyvinutý společností Microsoft pro sdílení souborů a tiskáren na systémech jako jsou Windows nebo OS/2. Můžeme ji tedy využít v naší síti s windowsovými klienty a linuxovým serverem. V naší síti budeme Sambu používat k následujícím činnostem:

Základní nastavení

Začneme opět na serveru. Hlavní konfigurační soubor Samby se jmenuje smb.conf a na mém Slackwaru je uložen v adresáři /etc/samba/. Může se stát, že po instalaci Samby se vytvoří soubor s názvem jako smb.conf.example, který bude obsahovat jednoduchý příklad nastavení Samba serveru. Pokud je to tak, tento soubor klidně přejmenujte nebo odstraňte a vytvořte nový. Výsledkem nechť je prázdný soubor smb.conf. Abychom mohli využít všech výše zmíněných vlastností, musíme soubor smb.conf správně nastavit. Příkladem takového nastavení může být vzorový soubor smb.conf, který si můžete stáhnout na konci toho článku. Zde jsou vysvětleny funkce důležitých řádků:

[global]
Říkáme, že budeme nastavovat globální parametry našeho Samba serveru.
workgroup = DOMA.CZ
Název pracovní skupiny. Přestože, se proměnná jmenuje workgroup (pracovní skupina), pracovat budeme s doménou.
netbios name = SERVER
Jméno našeho počítače.
encrypt passwords = yes
Chceme šifrovat hesla. Pokud se hlásíme do domény, musíme šifrování použít. U pracovní skupiny je tento údaj nepovinný.
domain master = yes
Chceme náš server použít jako doménový hlavní prohlížeč, což znamená, že bude spravovat prohlížecí seznamy mezi podsítěmi.
local master = yes
Chceme náš server použít jako místní hlavní prohlížeč, což znamená, že bude udržovat seznam aktivních počítačů (prohlížecí seznam).
os level = 65
Čím vyšší číslo, tím vyšší šance, že náš server vyhraje volbu místního hlavního prohlížeče. Tuto funkci využijeme, pokud máme v síti další doménové radiče. Ty v tuto chvíli nemáme, ale pokud bychom je přidali, takto vysoké číslo nám zajistí, že náš server se Sambou volbu vyhraje.
security = user
Určuje zabezpečení, které bude Samba používat při autentizaci. V tomto případě bude vyžadovat jméno a heslo.
domain logons = yes
Samba se bude starat o přihlašování do domény.
logon path = \\%L\profiles\%u\%m
Cesta pro ukládání cestovních profilů našich uživatelů ze systémů Windows NT/2000/XP. Cesta se skládá z proměnné %L (jméno serveru), sdílení "profiles" (bude definováno později), proměnné %u (přihlášený uživatel) a proměnné %m (jméno klienta).
add machine script = /usr/sbin/useradd -c "Machine account" -d /dev/null -g 103 -s /bin/false %u
Definuje skript pro automatické registrování stanic do domény (viz níže).

Dále definujeme sekci [profiles] vytvářející sdílení, kam budeme ukládat cestovních profily uživatelů.

[profiles]
  path = /home/roaming  ;Sem se budou soubory ukládat
  browsable = no        ;Sdílením nebude možno procházet
  writable = yes        ;Ale zapisovat do něj ano
  create mask = 0600    ;Masky souborů a adresářů. Plná práva
  directory mask = 0700 ;pro vlastníka, nula pro všechny ostatní

Nyní můžeme lépe pochopit hodnotu příkazu logon path, který jsme před chvíli nadefinovali. Cesta se skládala z proměnné %L (jméno serveru), sdílení "profiles", proměnné %u (přihlášený uživatel) a proměnné %m (jméno klienta). Skutečná cesta tedy může vypadat například takto (na serveru):

/home/roaming/kamil/vader

Upozorňuji, že toto nastavení bude fungovat pouze s Windows NT/2000/XP, nikoliv s Windows 95/98/Me.

V poslední sekci ve vzorovém souboru smb.conf je definované sdílení domácích adresářů uživatelů. Sdílení se MUSÍ jmenovat [homes], jinak jej Samba bude brát jako obyčejné sdílení (a navíc by nefungovalo, protože nemáme nastavenu žádnou cestu). O sdílení domovských adresářů si více řekneme později. Správnou syntaxi souboru smb.conf si ověříme příkazem testparm. Ten by nám měl mimo jiné vypsat řádek

Server role: ROLE_DOMAIN_PDC

který oznamuje roli našeho serveru v naší siti (PDC = Primary domain controler = Primární doménový řadič).

Abychom na to později nezapomněli, vytvoříme si na serveru adresář /home/roaming s potřebnými právy:

mkdir /home/roaming
chmod 777 /home/roaming

Vše potřebné máme nyní připravené, a tak můžeme Samba server spustit.

/etc/rc.d/rc.samba start

Příprava na připojení klientů

Abychom mohli naše klienty přihlásit do domény, musíme jim (podobně jako uživatelům) na serveru vytvořit účty, což se budeme snažit dělat automaticky. Doménový řadič pak povolí přístup pouze počítačům, které zná. Pro udržování dvojic uživatelské jméno - zašifrované heslo používá Samba soubor /etc/samba/private/smbpasswd. Ten je podobný známému souboru podobného významu /etc/shadow. Pro přidání uživatele slouží příkaz:

smbpasswd -a jmeno_uzivatele

A potom následuje dvojí zadání hesla. Když budete přidávat prvního uživatele, možná dostanete negativní odezvu, že databáze uživatelů neexistuje. Druhý pokus by už měl být úspěšný. Ještě než zaregistrujeme naše skutečné uživatele, vytvoříme na řadiči domény účet doménového administrátora, kterým je na Sambě uživatel root. Pomocí tohoto účtu budeme později registrovat naše stanice do domény.

smbpasswd -a root

Jako heslo doporučuji vybrat jiné než to, které má váš root na serveru.

Nyní je čas říci si něco o registraci stanic. Aby byl ve věcech pořádek, vytvoříme skupinu hosts (příkazem groupadd hosts), kam budeme přidávat účty všech našich stanic (u mě má GID 103). K přidávání stanic do databáze slouží příkaz add machine script v globální sekci souboru smb.conf, který by měl zabezpečit, že se NetBIOS jméno naší stanice (následované znakem "$") automaticky přidá jak do souboru/etc/passwd (díky hodnotě useradd), tak do souboru smbpasswd.

Nicméně setkal jsem se s případy, kdy řadič odmítl stanici automaticky zaregistrovat, což se projevilo hláškou "Neplatné uživatelské jméno" při pokusu registrovat stanici do domény. Pravděpodobně to mají na svědomí různé verze Samby, přičemž ta starší (2.2?) používá pro ten samý úkon příkaz add user script. Každopádně pokud máte s přidáváním stanic problémy, vždy pomůže manuální přidání "uživatelského účtu" stanice do databáze uživatelů a následné přidání stejného účtu do databáze smbpasswd. Návod, jak to udělat, najdete v příštím díle.

Ještě předtím, než budeme moci vyzkoušet, zda automatické přidávání stanic funguje, musíme přidat do databáze smbpasswd naše skutečné uživatele - uživatele našich stanic. Upozorňuji však, že se musí jednat o uživatele, kteří mají na našem serveru skutečně zřízený účet s platným UID. Ty jsme vytvářeli ve druhém díle našeho seriálu. Příkazem

smbpasswd -a kamil

a dvojím zadáním hesla přidáme do databáze uživatele kamil. Příkaz opakujeme pro všechny uživatele, které chceme přidat. Příkazem findsmb pak překontrolujeme, zda naše stanice reagují na SMB dotazy. Pokud ano, můžeme se pustit do jejich konfigurace. To bude náplní dalšího dílu.

Seriál Soukromá síť (dílů: 5)

První díl: Soukromá síť - I, poslední díl: Soukromá síť - V.
Předchozí díl: Soukromá síť - II
Následující díl: Soukromá síť - IV

Související články

Soukromá síť
Domácí síť
Inštalácia Slackware

Odkazy a zdroje

ukázkový smb.conf

Další články z této rubriky

PowerDNS – přívětivý a jednoduchý DNS server
Bootování ze sítě: pxelinux a kořenový adresář na NFS
Těžký život Do Not Track
OpenAFS – servery
Architektura IPv6 – konfigurace adres a objevování sousedů (2)

Diskuse k tomuto článku

21.9.2004 08:07 Tomáš Šimek
Rozbalit Rozbalit vše Spousta věcí
Odpovědět | Sbalit | Link | Blokovat | Admin
Chybí tam nastavení češtiny (bez toho neuděláte ani "novou složku"). "čím vyšší číslo, tím vyšší pravďepodobnost že vyhraje master browsing" to neni pravda. Nikde ani slovo o tom že je třeba udělat účty počítačů W2000/XP a to buď ručně, nebo nakonfigurovat add machine script. Konfiguraci profilů a jejich funkčnosti se dá napsat celý článek, tady o tom neni nic. I laika snad napadne, že než ukládat profily na server prokaždou mašinu a uživatele, je lepší je asi nechat lokálně. Článek je natolik laický a zhuštěný, že je k ničemu, přečtěte si radši oficiální SAMBA-3 HOWTO (myslím, že je to i v češtině)
21.9.2004 08:11 Tomáš Šimek
Rozbalit Rozbalit vše Re: Spousta věcí
No tak účty počítačů tam jsou, za to se omlouvám
21.9.2004 08:57 vader | skóre: 23 | Praha
Rozbalit Rozbalit vše Re: Spousta věcí
Bohuzel mi v redakci muj puvodni clanek zkratili na polovinu (zbytek o sambe tedy vyjde pristi tyden), cimz mi pripada ze clanek ztraci na konzistenci .. o profilech i o uctech pocitacu je prave psano v tom "druhym" clanku. A navic zde popisuji pouze nektere radky smb.conf (v clanku na to upozornuji), pricemz mam v clanku avizovano, ze kompletni smb.conf lze stahnout na konci clanku (coz naopak v redakci zase neudelali).
Buď byl šílený Philip K. Dick, nebo jsou šílení všichni ostatní.
21.9.2004 11:58 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Spousta věcí
Díl o konfiguraci Samby byl rozdělen na dva, protože v původní podobě byl příliš dlouhý.

Co se týče absence linku na smb.conf, způsobil ji výpadek připojení k netu. Bohužel jsem před výpadkem nestihl přípravu článku zcela dokončit. Teď už by vše mělo být v pořádku.
21.9.2004 08:33 vasek
Rozbalit Rozbalit vše protokol SMB neni od $MS
Odpovědět | Sbalit | Link | Blokovat | Admin
co ja vim tak SMB vyvinulo IBM
OndraZX avatar 21.9.2004 08:37 OndraZX | skóre: 27 | blog: OndraZX | Frydek-Mistek
Rozbalit Rozbalit vše PDC - v male siti
Odpovědět | Sbalit | Link | Blokovat | Admin
Nechapu proc vsude se propaguje nastaveni Samby jako PDC. Vzdyt tato technologie je pro usnadneni spravy velkych siti, kde jsou stovky uzivatelu a nekolik serveru. V normalni male siti, s jednim serverem a napr. 50 klienty je to podle mne blbost, protoze si montujete Microsofti technologii do vasi site, cimz muzete mit v budoucnu problemy, pokud budete chtit prejit kompletne na linux. Navic podpora teto technologie v Sambe neni porad 100% - ikdyz rada 3 je na tom lepe. Potom vznikaji takove anomalie, ze se pta uzivatel v Linuxove konferenci na nastaveni Samby s PDC pro sve tri domaci pocitece.

Takze ja doporucuji security=user

Viz http://www.sweb.cz/samba/samba/index.htm
21.9.2004 10:08 Pavel
Rozbalit Rozbalit vše Re: PDC - v male siti
No, ani v "normální malé síti s jedním serverem a 50 klinty" to není blbost. Už jenom proto, že pomocí login skriptu můžete automatizovat spoustu činností, které byste jinak musel zvládat ručně(nebo pomocí speciálních programů).
18.2.2006 23:52 vobr
Rozbalit Rozbalit vše Re: PDC - v male siti
není nad to si některé věci vyzkoušet v klídku doma na třech počítačích, kde o nic nejde. Získáme tím jen zkušenosti... :)
21.9.2004 13:31 rooter
Rozbalit Rozbalit vše Re: PDC - v male siti
a nemal si na mysli skor security = share?
OndraZX avatar 21.9.2004 13:42 OndraZX | skóre: 27 | blog: OndraZX | Frydek-Mistek
Rozbalit Rozbalit vše Re: PDC - v male siti
security=share bych pouzil u domaci site, kde neni treba zadne zabezpeceni.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.