Samba
Pavel Kříž, kriz@math.muni.cz
Obsah
Úvod
Samba je sada nástrojů pro sdílení prostředků, jako jsou tiskárny nebo soubory v sítí.
Jedná se o open source software distribuovaný pod licencí GNU, který implementuje protokol
SMB, u jehož vzniku stála v polovině 80. let firmy IBM. Rozhraní pod názvem NetBIOS neslo
základní ideu o propojení počítačů a sdílení dat mezi nimi. V 90. letech začala firma Microsoft
ve svých sítích používat upravenou verzi protokolu SMB/CIFS. Byly zde doplněna třeba podpora linkování
a použití komunikace přes protokol TCP.
Funkce démonů Samby
- smbd
- Démon zodpovědný za správu sdílených prostředků mezi počítačem se serverem Samba a jeho klienty, více...
- nmbd
- Démon je jednoduchý jmenný server NetBIOS a WINS. Implicitní nastavení NetBIOS name počítače je hostname.
Účastní se browsingu, může přebírat roli local master browser nebo domain master browser.
Programové vybavení Samby
- smbclient
- Klient, který přistupuje ke zdrojům poskytovaných serverem Samba.
- smbtar
- Program pro zálohování sdílených dat, podobný nástroji tar.
- nmblookup
- Program, který provádí vyhledávání jmen pomocí protokolu NetBIOS a TCP/IP.
- smbpasswd
- Program pro správu uživatelů a hesel.
- smbstatus
- Program podává informace o aktivních síťových spojeních ke sdíleným prostředkům.
- testparm
- Nástroj pro ověření správnosti konfiguračního souboru smb.conf.
- testprns
- Nástroj pro testování tiskáren, zda jsou démonem Samby rozpoznatelné.
SMBD
Démon je zodpovědný za autentizaci uživatelů, povolování prostředků a poskytování dat. Obsluhuje veškerou komunikaci
mezi serverem a klienty. Standardně běží na portu TCP 139. Pro každou klientskou žádost o spojení vytváří nový proces,
který běží až do chvíle ukončení spojení. Zasláním signálu HUP se vynutí opětovné načtení konfiguračního
souboru. Všechna otevřená spojení zůstavání ovšem aktivní, změna konfigurace je neovlivní.
-D
- Tento parametr spustí smbd jako daemon. Pokud není specifikován
smbd se NESPUSTÍ jako daemon (neběží na pozadí...)
-a
- Přepsat log soubory, není-li spesifikován, logy jsou přidávány na konec.
-d číslo
- debuglevel - číslo od 0 do 10 - větší číslo znamená více informací.
-l jméno souboru
- jméno log souboru
-p číslo
- číslo portu - standardně 139
-s jméno souboru
- konfigurační soubor - standardně /etc/samba/smb.conf
Konfigurace
Veškerá konfigurace Samby je soustředěna do jediného souboru smb.conf.
Obsahově je soubor rozdělen do sekcí, jejichž jména jsou uzavřena v hranatých závorkách.
Každá sekce definuje jednotlivé prostředky pro sdílení.
[nazev_sdileni_1]
nastaveni1 = hodnota
nastaveni2 = hodnota1, hodnota2
nastaveni3 = hodnota1 hodnota2
[nazev_sdileni_2]
# komentar 1
; komentar 2
vice radkovy \
zapis
SAMBA v konfiguracnim souboru nerozlisuje VeLiKoSt pismen. POZOR na cesty k UNIX filesystemum !!!
Rezervované jména sekcí se speciálním významem
[global]
- Globální konfigurace serveru Samba a definice implicitních nastavení pro sekce sdílení.
Jedná se o nepovinnou sekci.
[homes]
- Sdílení domovských adresářů. Požadavek na sdílení
[login]
je nejprve
porovnán podle jména. Pokud takové jméno neexistuje, vyhledá sdílení [homes]
a provede
autentizaci uživatele.
[printers]
- Sdílení tiskáren. Obdobný postup jako u domovských adresářů. K porovnání sdílení tiskáren
využívá server soubor
/etc/printcap
.
Vybrané nastavení
Nastavení rozdělujeme na Globální, která výhradně ovlivňují chování
samotného serveru Samba a na Sdílení, která mají vliv na jednotlivá sdílení.
Celkový konfigurace serveru Samba přesahuje počet 200 nastavení, které jsou nad rámec tohoto textu.
Uvedeme si proto jen některé z nich.
Globální
config file = /path/to/smb.conf
- Specifikace konfiguračního souboru. Pokud soubor není dostupný, server použije soubor
/etc/samba/smb.conf
Př. config file = /usr/local/samba/smb.conf.%m
– Makro %m
nahrazuje NetBIOS jméno klientského počítače.
netbios name = erigona
- Nastaví NetBIOS jméno serveru Samba.
server string = Server %v on %L
- Popisný řetězec nebo také komentář.
Výchozí nastavení server string = Server %v
.
host allow = seznam jmen pocitacu
- Specifikuje počítače, které se mohou připojit k serveru Samba.
host deny = seznam jmen pocitacu
- Specifikuje počítače, které nemají povolen přístup k serveru Samba.
interfaces = seznam dvojic IP adresa/maska
- Specifikuje síťová rozhraní, na kterých bude server Samba odpovídat. Vyžaduje nastavení
bind interfaces only = yes
.
bind interfaces only = {yes|no}
- Výchozí nastavení
bind interfaces only = no
, viz nastavení interfaces
.
default service = jmeno existujicho sdileni
- V případě neúspěšného pokusu o připojení ke sdílení dojde k přesměrování na uvedené sdílení.
workgroup = skupina
- Definuje skupinu, případně doménu, pro kterou server Samba sdílí prostředky.
Sdílení
path = /path/to/share
- Složka pro sdílení disku nebo uložení tiskových úloh.
Výchozí nastavení path = /tmp
.
read only = {yes|no}
- Přístup pouze pro čtení. .
Výchozí nastavení read only = yes
.
writable = {yes|no}
- Přístup i pro zápis.
Výchozí nastavení writable = no
.
comment = komentar
- Komentář sdílení.
browseable = {yes|no}
- Nastavení zda se bude sdílení zobrazovat v prohlížecím seznamu.
Výchozí nastavení browseable = yes
.
follow symlinks = {yes|no}
- Nastavení funkčnosti symbolických linků Unixu.
Výchozí nastavení follow symlinks = yes
.
wide links = {yes|no}
- Nastavení dostupnosti linků mimo sdílený prostor.
Výchozí nastavení wide links = yes
.
hide files = seznam souboru
- Seznam souborů, které se zobrazí jako skryté.
Př. hide files = /*.bin/*REAME*/
.
hide dot files = {yes|no}
- Skryté soubory z Unixu se zobrazí jako skryté soubory ve Win.
Výchozí nastavení hide dot files = yes
.
veto files = seznam souboru
- Seznam souborů, ke kterým nemá uživatel přístup.
Př. veto files = /*.bin/*REAME*/
.
create mask = XXXX
- Maximální oprávnění pro soubory vytvářené Sambou .
Výchozí nastavení create mask = 0744
.
directory mask = XXXX
- Maximální oprávnění pro adresáře vytvářené Sambou .
Výchozí nastavení directory mask = 0755
.
force user = jmeno uzivatele
- Výchozí uživatel pro uživatele, který přistupuje ke sdílení.
force group = jmeno skupiny
- Výchozí skupina pro uživatele, který přistupuje ke sdílení.
valid users = seznam uzivatelskych jmen
- Uživatelé, kteří mají přístup ke sdílení.
invalid users = seznam uzivatelskych jmen
- Uživatelé, kterým ke přístup ke sdílení odepřen.
invalid users = seznam uzivatelskych jmen
- Uživatelé, kterým je přístup ke sdílení odepřen.
quest ok = {yes|no}
- Povolení přístupu bez autentizace. Použijí se práva uživatele
nobody
.
Změnu uživatele lze předefinovat nastavením guest account
.
Výchozí nastavení guest ok = no
.
guest only = {yes|no}
- Umožňuje pouze přístup anonymního uživatele. Předefinuje nastavení
guest account
Výchozí nastavení guest only = no
.
V závěru zmíníme možnost Samby pracovat v sítích Windows jako primární řadič domény a možnost
komunikace s klienty pomocí ssl
.
Literatura