Samba (software)

Samba (anglická výslovnost [ˈsæmba]) je v informatice název svobodné reimplementace síťového protokolu SMB (Server Message Block, v novější verzi CIFS – Common Internet File System) používaného především pro vzdálený přístup k souborům (sdílení) v systémech MS Windows. Samba je distribuována pod verzí 3 licence GNU GPL.

Ve verzi 3 neposkytuje Samba pouze služby pro sdílení souborů a tiskových služeb pro klienty systému Windows, ale lze ji například využít i pro integraci do domény Windows, buď jako primární doménový řadič (Primary Domain Controller, PDC) nebo jako běžného člena v doméně. Může být také součástí domény Active Directory.

Samba byla původně vyvinuta pro systém UNIX Andrewem Tridgellem, nyní běží na většině unixových systémů, které zahrnují GNU/Linux, Solaris, BSD, macOS (od verze 10.2 je součástí macOS pro pracovní stanice – workstation) a jiné.

Dne 20. 12. 2007 obdržel Samba tým kompletní dokumentaci protokolu Microsoftu. Lidé píšící open source software tím získali důležité informace k implementaci volně dostupného řešení sdílení a dalších služeb v síti Microsoft Windows a tím možnost dosáhnout vysoké kompatibility. Výsledkem je vydání verze 4, ve které, mezi jinými, může Samba plnit roli řadiče domény Active Directory nebo být plnohodnotným členem Active Directory domény.

Dávná historie 
Andrew Tridgell vyvinul první verzi Samba Unixu v první polovině ledna 1992 jako student doktorského studia (Ph.D.) na Australské národní univerzitě. Na protokol DEC Pathworks serveru aplikoval reverzní inženýrství. V době prvních vydání, verze 0.1, 0.5 a 1.0, z první poloviny ledna 1992, neměl projekt vlastní jméno a Tridgell jej nazýval „souborový Unix server pro Dos Pathworks“. V době verze 1.0, si uvědomil, že „měl implementovaný NetBIOS protokol“ a že „tento software by mohl být používán u dalších počítačových klientů“.

Se zaměřením na interoperabilitu s Microsoft LAN Managerem vydal Tridgell „netbios pro unix“ (nbserver) verze 1.5 v prosinci 1993. Toto vydání bylo první, které obsahovalo klientský software, stejně tak jako serverovou část. V té době byla vybrána pro projekt licence GPLv2.

Uprostřed verze 1.5 byl změněn název na smbserver, ale Tridgell dostal upozornění od společnosti Syntax, která prodávala výrobek s názvem TotalNet Advanced Server a vlastnila ochrannou známku na SMBserver. Jméno Samba bylo získáno spuštěním příkazu grep v Unixu a použitím systémového slovníku, kde hledal slova, která obsahují písmena S, M a B (v tomto pořadí, tj. grep -i '^s.*m.*b' /usr/share/dict/words).

Verze 1.6, 1.7, 1.8 a 1.9 následovaly relativně rychle, posledně jmenovaná byla vydána v lednu 1995. Tridgell se domnívá, že zavedení CVS v květnu 1996 bylo zrozením Samba týmu, ačkoliv už dříve přispívali další lidé, zejména Jeremy Allison.

Verze 2.0.0 byla uvolněna v lednu 1999 a verze 2.2.0 v dubnu 2001.

Nedávná historie 
Verze 3.0.0, vydaná 23. září 2003, byla hlavní aktualizací. Samba získala schopnost připojit se do Active Directory jako člen, ačkoliv ne jako řadič domény. Následující vydání verze 3.0 přidalo drobné změny, její vývoj byl ukončen 5. srpna 2009.

Verze 3.1 byla použita jen pro vývoj a dále se na ní nepokračuje.

S verzí 3.2, se rozhodlo přejít na vydávání nových verzí v časových intervalech. Nové hlavní vydání, jako například 3.3, 3.4, atd. se objeví každých 6 měsíců. Nové funkce budou přidávány jen v hlavních vydáních, v podverzích budou jen opravovány chyby. Od verze 3.2 byla provedena změna licence z GPL2 na GPL3, s některými částmi šířenými pod LGPL3.

Verze 3.2.0 byla vydána dne 1. července 2008. Verze 3.2.x byla oficiálně ukončena 1. března 2010.

Verze 3.3.0 byla vydána 27. ledna 2009.

Verze 3.4.0 byla vydána 3. července 2009. Jedná se o první vydání, která zahrnuje jak zdrojový kód pro Sambu verze 3, tak i Sambu verze 4.

Verze 3.5.0 byla uvolněna 1. března 2010. Jednalo se o první vydání zahrnující experimentální podporu pro SMB2.

Verze 3.6.0 byla uvolněna 9. srpna 2011.

Verze 4.0.0 byla uvolněna 11. prosince 2012. Obsahuje zásadní úpravy na úrovni zdrojového kódu. Samba teď může plnit roli řadiče domény Active Directory, nebo být plnohodnotným členem Windows Active Directory domény.

Vlastnosti 
Samba umožňuje sdílet soubory a tiskárny mezi počítači s operačním systémem Windows a počítači s operačním systémem Unix. Jedná se o implementaci desítky služeb a tuctu protokolů, jako NetBIOS po TCP/IP (NBT), SMB, CIFS (a vylepšená verze SMB), DCE/RPC, MSRPC, WINS server známý jako NetBIOS Name Server (NBNS), NT doménový soubor protokolů které obsahuje NT doménové přihlašování, Secure Accounts Manager (SAM) databáze, Local Security Authority (LSA) služba, NT tiskovou službu (SPOOLSS), NTLM a nejnověji Active Directory přihlašování které obsahuje upravenou verzi Kerberos a upravenou verzi LDAP. Všechny tyto protokoly jsou často nazývány jen jako NetBIOS nebo SMB. NetBIOS a WINS protokoly jsou ve Windows zastaralé.

Samba zřizuje sdílení souborů pro vybrané Unixové adresáře (včetně všech podadresářů). Tyto se zobrazí uživatelům Windows jako normální složky Windows přístupné prostřednictvím sítě. Unixoví uživatelé se mohou připojit buď tak, že si sdílený adresář připojí do systému pomocí příkazu smbmount, nebo alternativně mohou použít nástroj smbclient (libsmb), který se chová jako FTP klient. Každý adresář může mít různá práva přístupu, která překrývají běžná oprávnění v Unixu.

Služby Samby jsou realizovány jako dva démoni:
 smbd, který poskytuje sdílení souborů a tiskáren, a
 nmbd, který poskytuje překlad NetBIOS na IP adresu. NetBIOS přes TCP/IP vyžaduje určitou metodu pro mapování názvů NetBIOS počítače na IP adresy TCP/IP síti

Konfiguraci Samby je dosaženo editací jednoho souboru (typicky se nachází /etc/smb.conf nebo /etc/samba/smb.conf). Samba může také poskytovat přihlašovací skripty a politiky skupiny prostřednictvím poledit.

Samba je obsažena ve většině Linuxových distribucí. Například u Red Hat Linuxu je script /etc/rc.d/init.d/smb spuštěn při startu, a spouští oba démony. Samba není obsažena v Solarisu 8, ale Solaris 8 kompatibilní verze je dostupná na stránkách projektu.

Samba obsahuje webové administrační rozhraní Samba Web Administration Tool (SWAT). V tomto webovém rozhraní je možno provádět veškerá nastavení Samby. Implicitně (default [diˈfoːlt]) bývá toto rozhraní z důvodu bezpečnosti vypnuto.

Povolení protokolu SMB1 (starší a neaktualizovaná datová úložiště) na systému Windows 10 (Win+R: "optionalfeatures" - “SMB 1.0/CIFS File Sharing Support” --> "SMB 1.0/CIFS Client").

Reference

Externí odkazy 
 
  SAMBA – příklad z firemní praxe 
  Root.cz – tanec s Okny
  LinuxExpres.cz – Jak se tančí Samba

Svobodný software
Aplikační protokoly IP
Svobodný software v C