Samba
Obsah
Co je Samba
Samba je balik programu, ktery implementuje SMB (Server Message Block)
protokol na unixovych stanicich. O tomto protokolu se nekdy take mluvi
jako o CIFS (Common Internet File System), LanManager nebo take NetBIOS
protokol.
Instalace
Potrebny balik je soucasti instalace RedHat Linuxu. Jinak nejnovejsi verzi
si muzete stahnou zde
, stejne jako dasli utilitky souvisejici se Sambou.
Komponenty Samby
Jak jsem se jiz zminil, Samba se sklada z nekolika casti. Nyni tedy nasleduje
strucny popis nekterych z nich:
smbd - je daemon, ktery obsluhuje SMB clienty jako jsou MS Windows,
LanManager nebo unixovy smbclient
nmbd - je daemon, ktery implementuje NetBIOS nameserver a stara
se take o prochazeni sdilenymi adresari
smbclient - je jednoduchy klient a'la ftp, ktery umoznuje pripojeni
k SMB serverum
testparm - tato utilitka umoznuje otestovani konfiguracniho souboru
smb.conf
smbstatus - vypise seznam pripojeni k vasemu SMB serveru
smbpasswd - umoznuje zmenit zakodovane SMB hesla na Samba serveru
a Windows NT(tm)
nmblookup, make_smbcodepage
Podrobnejsi informace samozrejme najdete v manovych strankach. (man
samba, man smbd, ....)
Konfigurace
Konfigurace Samby je ulozena v souboru smb.conf, ktery je
v drtive vetsine pripadu ulozen v adresari /etc. Samozrejme,
je mozne mit konfiguraci v jinem souboru.
Dale je mozne definovat v souboru '/etc/smbpasswd' uzivatelske ucty
a hesla, ktere mohou byt pouzity pro pristup ke sdilenym datum. Detaily
o tomto souboru lze najit jak jinak nez v manovych strankach (man smbpasswd);
Format souboru smb.conf
Tento soubor se sklada z konfiguracnich casti a parametru. Jednotlive casti
zacinaji nazvem v hranatych zavorkach a konci na zacatku dalsi casti.
Parametry jsou ve tvaru 'nazev = hodnota'. V nazvech jednotlivych casti
a parametru se nerozlisuji mala a velka pismena. Vsechny radky zacinajici
znakem ';' nebo '#' jsou ignorovany, stejne jako radky prazdne.
Kazda cast (krome casti [global])popisuje sdilenou polozku. Jmeno casti
je jmenem sdilene polozky a parametry v teto castini obsazene popisuji
atributy sdileni. Dale jsou zde tri pecialni casti, a to [global], [homes]
and [printers].
Cast [global]
V teto casti se nastavuje bezpecnostni strategie, sitove prvky, konverze
kodovani nazvu souboru , sprava browse-listu a vubec vse, co se tyka serveru
jako celku. Do samby se da zakompilovat i SSL podpora, jejiz nastaveni
se taky pisi do teto casti.
Strucny popis nekterych parametru:
auto services
je seznam sdilenych polozek, ktere se maji automaticky pridat do browse-listu.
Priklad: auto services = obrazky dokumenty
include
umoznuje zahrnout v konfiguraci dalsi soubor
local master
pokud je povolen, pak se nmbd pokusi stat master browserem
na lokalni podsiti
Priklad: local master = yes
local master = no
netbios name
zde se nastavuje jmeno, pod kterym bude server vystupovat v NetBIOSu
Default: netbios name = DNS jmeno stroje
Priklad: netbios name = MYNAME
root directory
server provede po startu 'chroot()' do tohot adresare
Priklad: root directory = /home/samba
security
toto je zakladni nastaveni bezpecnostni politiky serveru
Moznosti: user, share, server domain
Default: security = user
smb passwd file
soubor, ktery obsahuje zakodovane smb-hesla
Default: smb passwd file = <zakompilovano v serveru>
socket options
zde jsou nastaveni soketu, ktera se maji pouzit pri komunikacis klientem
(detaily viz. 'man setsockopt')
wins server
adresa WINS serveru, u ktereho se ma server registrovat
Podrobnosti viz. 'man smb.conf'.
Konfigurace sdilenych polozek
Strucny popis nekterych parametru:
path
cesta ke sdilene polozce
Priklad: path = /arch/doc
browseable
tady se nastavuje, zda ma byt sdilena polozka viditelna v browse-listu
Default: browseable = yes
guest account
uzivatelske jmeno, ktere se ma pouzit pri pristupu k polozkam, ktere maji
nastaveno 'guest ok'
Default: guest account = (zakompilovano do serveru, obvykle 'nobody')
guest ok
pokud je nastaveno na 'yes' pak k pristupu k polozce neni pozadovano heslo
Default: guest ok = no
writeable
povoleni (zakazani) zapisu a zmen souboru (adresaru).
Default: writeable = no
read only
povoluje (zakazuje) cteni z dane sdilene polozky.
create mask
nastaveni prav, ktera se maji pouzit pri vytvoreni souboru
Default: create mask = 0744
directory mask
jako 'create mask', jen pro adresare.
Default: directory mask = 0755
hosts allow
seznam adres, ze kterych lze pristupovat k dane sdilene polozce
Priklad: hosts allow = stroj1, stroj2
hosts allow = 150.203.
EXCEPT 150.203.6.66
hosts deny
seznam adres, ze nelze pristupovat k dane sdilene polozce
Priklad: hosts deny = stroj1, stroj2
hosts allow = 150.203.4.
badhost.nekde.cz
Podrobnosti viz. 'man smb.conf'.
Cast [homes]
Pokud je tato cast uvedena v konfiguracnim souboru, pak server autorizovanym
uzivatelum nasdili i jejich domovsky adresar.
Cast [printers]
Zde se nastavuje sdileni tiskaren.
Spusteni serveru
Jsou dve moznosti. Server je bud spusten jako daemon (resp. deamoni smbd,
nmbd), nebo funguje jako inetd sluzba. Pro spusteni v rezimu
deamonu je v RedHatu jiz vytvoren startovaci skript. Pokud vsak chceme
Sambu pouzivat jako inetd sluzbu, je potreba do souboru /etc/inetd.conf
pridat dva nasledujici radky:
netbios-ns dgram udp
wait root /usr/sbin/tcpd nmbd
netbios-ssn stream tcp
nowait root /usr/sbin/tcpd smbd
Upozornuji, ze je treba mit 'netbios-ns' a 'netbios-ssn' definovane
v souboru /etc/services, coz je vsak v RedHatu prednastaveno ihned po instalaci.
Zdroje