Kapitola 28. Samba

Obsah

28.1. Nastavení serveru
28.2. Samba jako přihlašovací server
28.3. Konfigurace Samba serveru pomocí programu YaST
28.4. Nastavení klienta
28.5. Optimalizace

Pomocí balíku Samba lze doplnit libovolný unixový počítač o funkce výkonného souborového a tiskového serveru pro DOS, OS/2 a Windows počítače. Postupem doby se Samba vyvinula ve složitý a komplexní produkt. V této kapitole najdete popis základního nastavení Samby a konfigurace pomocí modulu programu YaST.

Podrobné informace jsou dostupné v digitální podobě. Příkazem apropos samba zobrazíte dostupné manuálové stránky. Pokud je Samba nainstalována, najdete další dokumentaci a příklady v adresáři /usr/share/doc/packages/samba. V podadresáři examples najdete okomentovaný příklad konfigurace (smb.conf.SuSE).

Balíček samba verze 3 obsahuje řadu novinek a zlepšení, z nichž nejvýznamnější jsou:

[Tip]Migrace na Sambu verze 3

Pokud chcete migrovat ze Samby 2.x na Sambu 3, musíte být maximálně opatrní. Aby nedošlo k chybě, věnujte prosím pozornost dokumentu Samba-HOWTO-Collection. Najdete ho po instalaci balíčku samba-doc v souboru /usr/share/doc/packages/samba/Samba-HOWTO-Collection.pdf.

Samba používá SMB protokol (server message block) založený na službách NetBIOSu. Díky tlaku společnosti IBM Microsoft tento protokol uveřejnil, a tak je možné připojit se do domén sítě Microsoft. Protože Samba pracuje na základě TCP/IP protokolu, musí být tento protokol nainstalován na všech klientech.

NetBIOS je softwarové rozhraní (API) pro komunikaci mezi počítači poskytující tzv. name service umožňujícím počítačům připojeným k síti rezervovat si pro sebe jména, sloužící k oboustranné identifikaci. Pro přidělování nebo kontrolu jmen zde není žádná centrální autorita. Každý počítač v síti smí mít libovolný počet jmen, pokud se tato jména již nepoužívají jiným počítačem. Rozhraní NetBIOS lze implementovat v různých síťových architekturách. Jedna z implementací, která je těsně svázána se síťovým hardwarem, se nazývá NetBEUI (bývá však často zaměňována za NetBIOS). Síťové protokoly implementované v NetBIOSu pocházejí z IPX od společnosti Novell (NetBIOS via TCP/IP) a TCP/IP.

Všechny běžné operační systémy, jako Mac OS X, Windows nebo OS/2. podporují protokol SMB. NA všech počítačích musí být nainstalovaný TCP/IP protokol. Samba poskytuje klienta pro různé UNIXové systémy. Pro Linux existuje jaderný modul umožňující integraci SMB zdrojů na systémové úrovni.

SMB servery poskytují hardwarové místo klientům ve formě sdílení (shares). Sdílení zahrnuje adresář na serveru včetně podadresářů. Je exportováno pod zadaným jménem. Jako jméno sdílení lze nastavit jakékoliv jméno, nemusí to být jméno sdíleného adresáře. Tiskárna má také přiděleno jméno. Klienti pak k tiskárně přes její jméno přistupují.


28.1. Nastavení serveru

Nejdříve je třeba nainstalovat balíček samba Ručně pak můžete spustit službu příkazem rcnmb start && rcsmb start a pomocí rcsmb stop && rcnmb stop. ji opět ukončit.

Hlavní konfigurační soubor Samby je /etc/samba/smb.conf. Skládá se ze dvou logických částí. V části [global] jsou obecná a centrální nastavení. V části [share] se nastavují individuální sdílení souborů a tiskáren. Rozdělení mezi tyto dvě sekce zvyšuje přehlednost konfiguračního souboru.

28.1.1. Sekce [global]

Aby ostatní počítače s Windows mohly přistupovat prostřednictvím SMB k vašemu Samba serveru, vyžadují následující parametry ze sekce [global] určité úpravy v závislosti na nastavení sítě.

workgroup = TUX-NET

Samba serveru je pomocí této řádky přiřazena pracovní skupina. TUX-NET nahraďte správným jménem skupiny ve vašem síťovém prostředí. Samba server se objeví pod svým DNS jménem, pokud ovšem není používáno jiným strojem v síti. Pokud DNS jméno není dostupné, nastavte jméno serveru pomocí netbiosname=MYNAME (viz mansmb.conf).

os level = 2

Podle tohoto parametru se bude Samba server rozhodovat, zda se stane LMB (Local Master Browser) pro svou pracovní skupinu. Nízká hodnota zajistí, že existující windowsová síť nebude rušena špatně nakonfigurovanou Sambou. Bližší informace k této volbě naleznete v souborech BROWSING.txt a BROWSING-Config.txt, které najdete v podadresáři textdocs dokumentace balíku.

Pokud ještě neprovozujete SMB server (např. ve Windows NT, 2000, XP) a sambový server by měl v lokální síti udržovat informace o jménech dostupných systémů, zvyšte os level na vyšší hodnotu (např. 65). Váš Samba server se tak stane LMB.

Při změnách této hodnoty byste měli být obzvláště opatrní, protože můžete rušit komunikaci ve stávající síti. Nejprve si nastavení otestujte v izolované síti nebo o víkendu.

wins support a wins server

Pokud chcete integrovat Sambu do windowsové sítě, kde již běží WINS server, tak položku wins server odkomentujte a uveďte IP adresu WINS serveru.

Pokud jsou windowsové systémy provozovány v oddělených podsítích a měly by se přesto vidět, potřebujete WINS server. Sambu proměníte na takový WINS server nastavením volby wins support = yes. Pozor na to, abyste tuto položku aktivovali pouze na jednom serveru. Volby wins server a wins support nesmí být v souboru smb.conf nikdy povoleny současně.

28.1.2. Sdílení

V následujících příkladech si ukážeme, jak sdílet CD mechaniku a domovské adresáře uživatelů.

[cdrom]

Aby nedošlo ke zneužití CD mechaniky, je ve výchozím nastavení deaktivována pomocí komentáře (zde středník). Odstraněním středníků v prvním sloupci můžete CD-ROM sdílet.

Příklad 28.1. Sdílení CD-ROM

;[cdrom]
;       comment = Linux CD-ROM
;       path = /media/cdrom
;       locking = No
[cdrom] a comment

Položka [cdrom] je jméno, které bude vidět na SMB klientech. Pomocí comment můžete sdílení podrobněji popsat.

path = /media/cdrom

Exportuje adresář /media/cdrom.

Vzhledem k velmi přísné implicitní konfiguraci je tento způsob exportování omezen na lokální uživatele. Ostatním umožníte přístup volbou guest ok = yes. Protože tato volba umožňuje přístup ke čtení všem, je potřeba s ní zacházet velice opatrně. Hlavně při jejím používání v sekci [global].

[homes]

Zvláštní postavení má export domovských adresářů. Pokud má uživatel na linuxovém souborovém serveru platný účet a vlastní domovský adresář, pak se může jeho klient po zadání platného uživatelského jména a hesla připojit

Příklad 28.2. Sdílení domovských adresářů

[homes]
        comment = Home Directories
        valid users = %S
        browseable = No
        read only = No
        create mask = 0640
        directory mask = 0750
[homes]

Při připojení uživatele k SMB serveru je automaticky vytvořeno sdílení pomocí direktivy [homes]. Výsledné jméno sdílení je shodné s uživatelským jménem a vytvoří se pouze, pokud již neexistuje sdílení se stejným jménem.

valid users = %S

%S je po úspěšném spojení nahrazen konkrétním jménem sdílení. V případě sdílení [homes] je to vždy jméno uživatele. Důsledkem je omezení používání home pouze na jeho vlastníka.

browseable = No

Toto nastavení činí sdílení neviditelným v síťovém prostředí.

read only = No

Samba má přenastaven zápis u exportovaných dat na read only = Yes. Pokud má být adresář přístupný pro zápis, pak je třeba nastavit read only = No, což je totéž jako writeable = Yes.

create mask = 0640

Systémy nezaložené na MS Windows NT nedokáží pracovat s UNIXovými přístupovými právy a tím pádem ani nastavit tato práva při vytváření souborů. Parametr create mask nastavuje přístupová práva všech nově vytvořených souborů. Toto nastavení se týká pouze těch sdílení, do kterých mají uživatelé právo zápisu. Výše uvedená hodnota nastavuje právo pro čtení a zápis vlastníka souboru a práva pro čtení pro všechny uživatele z vlastníkovy skupiny. Nastavením valid users = %S zamezíte ostatním členům skupiny přístupu ke čtení i v případě, že to práva povolují. Aby měla celá skupina práva ke čtení či zápisu, je nutné řádku valid users = %S zakomentovat.

28.1.3. Bezpečnostní úrovně

SMB protokol vychází z prostředí DOS/Windows a bere ohledy na problematiku bezpečnosti. Proto je možné přístup ke každému exportovanému adresáři ochránit heslem. SMB rozlišuje tři různé způsoby:

Share Level Security (security = share):

Heslo je stejné pro všechny uživatele, je vázáno na sdílení. Každý, kdo toto heslo zná, má ke sdílení přístup.

User Level Security (security = user):

Každý uživatel má vlastní heslo. Po registraci server přiděluje uživateli přístup jen k jemu povoleným sdílením.

Server Level Security (security = server):

Samba před klienty předstírá práci v uživatelském režimu. Nicméně předává všechny hesla k ověření jinému serveru v uživatelském režimu. Toto nastavení vyžaduje další parametr (password server=).

Uvedená nastavení jsou aplikována na celý server. Není možné nastavit individuální sdílení s různými bezpečnostními stupni. Můžete však pro každou IP adresu nastavenou na systému spustit vlastní Samba server.

Více informací o této problematice najdete v Samba HOWTO Collection. U vícenásobného serveru na jednom počítači věnujte pozornost volbám interfaces a bind interfaces only.

[Tip]Tip

Pro jednoduchou správu Samba serverů existuje program swat. Ten používá pro konfiguraci Samba serveru jednoduché webové rozhraní. Po spuštění prohlížeče ho najdete na adrese http://localhost:901, kde se přihlaste jako uživatel root. Nezapomeňte, že swat je také potřeba aktivovat v souborech /etc/xinetd.d/samba a /etc/services. K tomu musíte v souboru /etc/xinetd.d/samba nastavit parametr disable na hodnotu no (disable = no). Další informace o swat najdete v jeho manuálové stránce.