Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > a24a69bc7ec7e91023248395f5bb5975 > files > 21

howto-text-sl-9.0-1mdk.noarch.rpm

  Samba Server: Korak za korakom
  Ying Zhang, prevedel: Damir Horvat, damir.horvat@ibe.si
  19. september 1999

  Prevod skripte "Samba Server, Step-by-Step Guide" by Ying Zhang
  ______________________________________________________________________

  Kazalo


  1. Zahvala

  2. Predstavitev

     2.1 Pravno stali¹èe
     2.2 Ozadje

  3. Zahteve

     3.1 Nastavitveni naèrt
     3.2 Kako do Sambe

  4. Namestitev Sambe

  5. Kreiranje

     5.1 Nov uporabnik in skupina
     5.2 Imenik
     5.3 Imenik
     5.4 Pregled datoteke
     5.5 Kreiranje datoteke Imhosts

  6. Uporaba SWAT

     6.1 Varovanje SWAT
     6.2 Poganjanje SWAT
     6.3 Nastavitev Sambe

  7. Zagon Sambe

     7.1 Testiranje Sambe

  8. Nastavitev Windows sistema

  9. Varovanje Sambe

     9.1 S Sambo
     9.2 Filtriranje portov
        9.2.1 Uporaba ipfwadm
        9.2.2 Uporaba ipchains

  10. Zakljuèek



  ______________________________________________________________________

  1.  Zahvala

  Hvala vsem, ki so me kakorkoli spodbujali k uporabi Linuxa in Sambe,
  in mi pomagali s svojimi nasveti in odgovori na moja, ne vedno pametna
  vpra¹anja.

  Hvala Ying Zhang-u za njegovo Samba Server, Step-by-Step Guide
  skripto.

  Hvala tudi celotnemu timu razvijalcev Sambe za dobro opravljeno delo!



  2.  Predstavitev

  Ta dokument vas bo popeljal skozi nastavitev Sambe na va¹i Linux
  ma¹ini.  Na koncu tega dokumenta boste imeli:

  ·  nastavljeno Sambo server na va¹i Linux ma¹ini s skupno rabo

  ·  nastavljene Windows 95/98 kliente za dostop do Linux ma¹ine

     Ta dokument (HOW-TO) ni zamenjava za odlièno dokumentacijo, ki
     pride skupaj z distribucijo Sambe.  Namenjen je hitro in delujoèo
     nastavitev Sambe.  Preberite tudi originalno dokumentacijo Sambe!


  2.1.  Pravno stali¹èe

  Ne jamèim toènost in pravilnost informacij, ki jih predstavljam v tem
  dokumentu.  V nikakr¹nem smislu nisem povezan z Samba team-om in vse
  kar opisujem tukaj je v osnovi tisto, kar sem naredil za delovanje
  Samba serverja na moji Linux ma¹ini.  Ne krivite mene, èe se karkoli
  izjalovi.  Vse delate na lastno odgovornost!

  Po drugi strani pa, èe imate kakr¹nokoli vpra¹anje, komentar ali
  predlog, mi lahko po¹ljete email na damir.horvat@ibe.si.  Po svojih
  najbolj¹ih moèeh se bom potrudil in vam odgovoril, ali vas vsaj
  usmeril k bolj¹im izvirom pomoèi.

  Dokument je preveden z dovoljenjem avtorja.


  2.2.  Ozadje

  Moje domaèe lokalno omre¾je sestavljajo trije raèunalniki, ena Linux
  in dve Windows 98 ma¹ini.  Linux ma¹ina opravlja malo morje procesov,
  eden od njih je tudi serviranje datotek mojima Win98 raèunalnikoma
  preko Samba serverja.

  Za la¾je razumevanje, sem dal vsem trem ma¹inam imena.  Moja Linux
  ma¹ina je Homer, dve Win98 ma¹ini pa sta Lisa in Bart.  Vsi trije pa
  pripadajo delovni skupini Simpsons. Homerjev IP naslov je 192.168.0.1,
  Bartov 192.168.0.2 in Lisin 192.168.0.3.

  Delovne dokumente, domaèe naloge in ostale osebne dokumente bom
  shranjeval v imeniku skupne rabe (shared directory) z imenom data.  Ta
  imenik bo dostopen z obeh Win 98 ma¹in (mapiran kot M: disk).

  Rad bi imel tudi imenik skupne rabe, do katerega bi imel dostop
  vsakdo; to bo imenik public. Ta bo dostopen iz obeh Win98 ma¹in in
  tudi vsakemu, ki bo imel raèun (account) na Homerju.

  Na koncu, Homer bo tudi primarni WINS server za moje lokalno omre¾je,
  tako da ni potrebno imeti datoteke imhosts na Lisi in Bartu.



  3.  Zahteve

  V nastajanju tega dokumenta predpostavljam, da imate:

  ·  osnovno znanje kaj Samba je in za kaj jo ¾elite


  ·  delujoèe TCP/IP omre¾je

  ·  delujoèo Linux ma¹ino na katero boste namestili Sambo

  ·  potrebne pakete za kompajliranje Linux programov

  ·  delujoèe Windows 95/98 ma¹ine pripravljene za povezovanje

  ·  da nimate ¾e name¹èene Sambe; èe jo imate, jo zaustavite in
     odstranite


  3.1.  Nastavitveni naèrt

  Sedaj morate narditi naèrt, kako boste nastavili Sambo.  Napisal vam
  bom svojega; nekatere stvari bodo mogoèe pri¹le v po¹tev tudi za vas.

  Homer ima name¹èen RedHat Linux 5.1 z 2.2.3 kernelom, zato bom opisal
  namestitev Sambe za RedHat (z RPM-ji).  Èe uporabljate drugo
  distribucijo Linuxa, verjetno ne boste mogli dobesedno slediti kaj
  delam jaz, zato imejte to v mislih!

  Bart in Lisa imata oba name¹èene Windows 98.  Ne bo velikih razlik, èe
  imate Windowse 95.  Èe imate name¹èene Windows NT, bodo koraki malce
  drugaèni, vendar koncept je enak.

  Ker imam v mre¾i samo tri raèunalnike, nisem zaskrbljen glede
  varnosti.  Uporabljal bom "share level" stopnjo varnosti v Sambi.  V
  resnici sam uporabljam en raèun na obeh, Lisi in Bartu, in TweakUI za
  samodejno prijavo.


  3.2.  Kako do Sambe

  V èasu pisanja tega dokumenta je 2.0.3 zadnja stabilna verzija Sambe.
  Potrebovali boste izvorno kodo, datoteka je samba-2.0.3.tar.gz, ki jo
  dobite na domaèi strani Sambe  <http://www.samba.org/>.



  4.  Namestitev Sambe

  Najprej raz¹irite izvorno kodo Sambe.  Predpostavljam, da ste jo
  prenesli v imenik /tmp in naredite naslednje (ni ¹e potrebno da ste
  root):



       $ tar -zxvf samba-2.0.3.tar.gz




  Èe je ¹lo vse v redu in niste dobili nobenih sporoèil o napakah, bi
  morali imeti raz¹irjene datoteke v imeniku samba-2.0.3.  Skupaj s
  Sambo pride kup paketnih skript.  Najzanimivej¹e so tiste, ki naredijo
  RPM pakete za nas.  Pa naredimo tako (sedaj morate biti root):



       $ su
       # cd samba-2.0.3/packaging/RedHat
       # sh makerpms.sh



  To bo vzelo nekaj èasa, dokler se naredijo RPM paketi.  Èe je ¹lo kaj
  po zlu, bo potrebno, uh, paè prebrati dokumentacijo Sambe.  Èe je ¹lo
  dobro, sta bili narejeni naslednji datoteki:

  ·  /usr/src/redhat/RPMS/i386/samba-2.0.3-19990228.i386.rpm

  ·  /usr/src/redhat/RPMS/i386/samba-2.0.3-19990228.src.rpm

  Super ne? Dobro, pa namestimo to Sambo:


       # rpm -Uvh /usr/src/redhat/RPMS/i386/samba-2.0.3-19990228.i386.rpm




  A je lahko sploh enostavneje?  Sedaj bomo naredili novega uporabnika
  in novo skupino, nato pa nov imenik.  Priredili bomo nekaj datotek za
  uporabo "Samba Web Administration Tool - SWAT".



  5.  Kreiranje

  Hmm, tudi kak¹no bolj¹e ime bi si lahko spomnil, vendar bomo tukaj
  kreirali (naredili) uporabi¹ke raèune, imenike, skupine in datoteke.


  5.1.  Nov uporabnik in skupina

  Ker bomo uporabljali "share level" stopnjo varnosti, moramo narediti
  gost raèun (guest account).  Ta uporabnik bo smbuser in bo pripadal
  skupini smb.

  Vse datoteke, ki jih Bart in Lisa pi¹eta v imenika skupne rabe, data
  in public, bodo v lasti smbuser-ja in pripadale v skupino smb.

  Èe imate Linuxconf, uporabite to za umazano delo.  Drugaèe pa
  uporabite ukaza useradd in groupadd za kreiranje novih raèunov.

  1. Naredite skupino smb

  2. Naredite uporabnika smbuser, domaèi imenik naj bo v /home/public

     Prepreèite prijavo za raèun smbuser, ker se dejansko nihèe ne bo
     prijavljal pod tem imenom.


  5.2.  Imenikpub

  Sedaj naj bi ¾e imeli imenik /home/public.  Bil naj bi v lasti
  smbuser-ja in pripadal skupini smb.  Ker bodo vse datoteke v tem
  imeniku vedno pripadale skupini smb, bomo tako nastavili SGID.  Vsak
  bo imel mo¾nost branja in pisanja v ta imenik, zato bodo dovoljenja
  nastavljena tako:



       # chown smbuser:smb /home/public
       # chmod 2777 /home/public




  Vsaka datoteka, ki je narejena v imeniku /home/public pripada skupini
  smb, ne glede na to, kdo jo naredi.
  5.3.  Imenikdata

  Moj data imenik je v /home/samba/data.  Ta imenik bo dostopen samo
  doloèenim ljudem, tistim, ki pripadajo smb skupini. to naredimo
  takole:



       # mkdir /home/samba
       # chown smbuser:smb /home/samba
       # chmod 2770 /home/samba

       # mkdir /home/samba/data
       # chown smbuser:smb /home/samba/data
       # chmod 2770 /home/samba/data




  Tudi na te imenike sem nastavil SGID tako, da vse, kar se naredi v teh
  imenikih pripada smb skupini.

  Ker hoèem tudi jaz imeti dostop do teh imenikov, se dodam v smb
  skupino.  To lahko naredim z Linixconf ukazom, ali pa roèno spremenim
  datoteko /etc/group.


  5.4.  Pregled datotekehosts

  Imeli naj bi datoteko /etc/hosts, ki mapira imena gostiteljev (host
  names) v IP naslove.  Moja izgleda takole:



       # /etc/hosts

       127.0.0.1       localhost       localhost.localdomain
       192.168.0.1     homer
       192.168.0.2     bart
       192.168.0.3     lisa





  5.5.  Kreiranje datoteke Imhosts

  Imhosts datoteka mapira imena gostiteljev (host names) ali IP naslove
  LanManager-ju imena raèunalnikov. Normalno bi verjetno radi imeli
  enaka imena za LanManager-ja in imena gostiteljev:


       # /etc/Imhosts

       localhost        homer
       bart             bart
       lisa             lisa




  Izgleda malo sme¹no, ampak stvar na levi strani je ime gostitelja,
  stvar na desni pa ime LanManager-ja.



  6.  Uporaba SWAT

  Za uporabo SWAT moramo preveriti /etc/services in /etc/inetd.conf
  datoteke.  Po originalnih nastavitvah SWAT dela na portu 901.  To
  sicer lahko spremenimo, vendar pustimo zaenkrat tako.

  Poglejmo datoteko /etc/services, èe vsebuje naslednjo vrstico:



       swat      901/tcp     #Add swat service used via inetd




  Èe jo imate, potem dobro.  Èe je nimate, jo dodajte na konec datoteke.

  Potem preverimo datoteko /etc/inetd.conf, èe vsebuje vrstico:


       swat stream tcp nowait.400 root  /usr/sbin/swat swat





  6.1.  Varovanje SWAT

  Èe vas varovenje SWAT ne zanima, lahko preskoèite to poglavje.  Jaz
  sam se poèutim mnogo bolje, èe mi "TCP wrappers" ¹èitijo SWAT.
  Spremenim prej¹njo vrstico takole:



       swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat




  Èe ne veste kaj so "TCP wrappers", potem preberite man strani:


       # man hosts.allow




  Va¹ /etc/hosts.deny naj ima vrstico, ki pravi ALL:ALL.  Dodajmo ¹e to
  v va¹o datoteko /etc/hosts.allow:



       # swat:      127.0.0.1  192.168.0.




  To dovoljuje Homerju, Lisi in Bartu dostop do SWAT.


  6.2.  Poganjanje SWAT

  Najprej ¹e enkrat za¾enimo datoteko inetd:



  # killall -HUP inetd




  Sedaj pojdite z najljub¹im internet brskalnikom na naslov:
  http://192.168.0.1:901.  Èe je vse u redu, bi morali vnesti
  uporabni¹ko ime in geslo.  Za uporabni¹ko ime vnesite root, za geslo
  pa va¹e root geslo.


  6.3.  Nastavitev Sambe

  SWAT sedaj dela.  Probajte vse gumbe in se spoznajte s njim. SWAT
  kreira /etc/smb.conf za vas.  Sedaj bomo malo pogoljfali. Namesto, da
  bi ¹li skupaj èez vsako vrstico datoteke /etc/smb.conf, vam bom
  napisal svojo (imeni raèunalnika in delovne skupine sta spremenjeni,
  da za¹èitim svojo sistemsko indetifikacijo).

  Preglejte to in preprosto skopirajte v svojo /etc/smb.conf datoteko.
  Ne pozabite je prirediti za svoj sistem:



       # Samba config file created usin SWAT
       # from bart (192.168.0.2)
       # Date: 1999/02/02 18:27:26

       #Global parametes
               workgroup = SIMPSONS
               server string = Samba SMB Server
               interfaces = 192.168.0.1/24 127.0.0.1/24
               bind interfaces only = Yes
               security = SHARE
               log file = /var/log/samba/log. %m
               max log size = 50
               read bmpx = No
               time server = Yes
               socket options = TCP_NODELAY
               os level = 65
               preferred master = Yes
               dns proxy = No
               wins support = Yes
               guest account = smbuser
               hide dot files = No

        [public]
               comment = Public
               path = /home/public
               read only = No
               create mask = 0664
               directory mask = 0775
               guest ok = Yes

        [data]
               comment = Data
               path = /home/samba/data
               read only = No
               create mask = 0660
               directory mask = 0770
               guest ok = Yes





  7.  Zagon Sambe

  Sambo lahko za¾enete na dva naèina: uporabite SWAT ali z ukazom v
  konzoli.  Èe bi radi uporabili SWAT, pojdite na stran STATUS in
  kliknite start SMBD in NMBD.  Èe je bila Samba ¾e zagnana, pritisnite
  stop in ¹e enkrat start, da boste videli nastavitveno datoteko.

  Za zagon Sambe z ukazom v konzoli:


       # /etc/rc.d/init.d/smb stop
       # /etc/rc.d/init.d/smb start




  Èe niste opazili nobenih napak, potem vse deluje.  No pa jo
  testirajmo.


  7.1.  Testiranje Sambe

  Poglejmo, kaj sploh dela:


       # smbclient -L localhost




  Mogoèe vpra¹a za geslo.  Èe, pritisnite Enter, in videti bi morali
  nekaj podobnega:


       Domain=[SIMPSONS]    OS=[Unix]    Server=[Samba 2.0.3]
            Sharename            Type         Comment
            ---------            ----         -------
            public               Disk         Public
            data                 Disk         Data
            IPC$                 IPC          IPC Service (Samba SMB Server)

            Server                            Comment
            -----                             -------
            HOMER                             Samba SMB server

            Workgroup                         Master
            ---------                         ------
            SIMPSONS                          HOMER




  Vse u redu?  Super!  Sedaj nam preostaneta le ¹e stroja z Windows.



  8.  Nastavitev Windows sistema

  Ker Samba server dela na Homerju, je sedaj èas, da se posvetimo tudi
  Bartu in Lisi.  Ta del je veliko la¾ji.  Najprej se preprièajmo, da so
  mre¾ne komponente pravilno name¹èene in da v Nastavitve/Nadzorna
  plo¹èa/Sistem/Upravitelj naprav ni nobenih konfliktov.

  Pazite da so v Mre¾nih nastavitvah/zavihek Osebna izkaznica navedena
  pravilna imena raèunalnika in delovne skupine.  Za na¹ primer: Bart
  naj bi imel ime raèunalnika Bart in delovno skupino Simpsons.  Enako
  za Liso.

  Nadzor dostopa naj bo na ravni skupne rabe.  V lastnostih, pa
  obkljukajmo Wins server za Homerja.

  Da bi spremembe zaèele veljati, je potrebno znova zagnati raèunalnik.
  Ko se Windowsi nalo¾ijo, bi morali v Omre¾ni sose¹èini videti tudi
  Samba Server.

  V naslednjem poglavju si bomo ogledali, kako za¹èititi Sambo pred
  zunanjimi napadi.



  9.  Varovanje Sambe

  Vsakiè ko dodate servis, je va¹a ma¹ina bolj ispostavljena crackerjem.
  Tukaj bomo obravnavali za¹èito Samba serverja.


  9.1.  S Sambo

  V Sambini nastavitveni datoteki /etc/smb.conf lahko povemo, katerim
  portom naj prislu¹kuje:



       interfaces = 192.168.0.1/24 127.0.0.1/24
       bind interfaces only = Yes




  Tukaj seveda navedite va¹e naslove IP.  Ker sem nezaupljiv, bom dodal
  ¹e eno plast varovanja, filtriranje portov.


  9.2.  Filtriranje portov

  SMB uporablja port 137-139.  Da bi bil varen, blokiram oba TCP in UDP
  porta 137-139.  Èe uporabljate 2.0 verzijo kernela, boste verjetno
  uporabljali program ipfwadm.  Z jedrom 2.1 in 2.2, uporabljajte
  ipchains.


  9.2.1.  Uporaba ipfwadm

  Dodajte naslednje vrstice v va¹o datoteko /etc/rc.local:


       ipfwadm -I -P tcp -a deny -S any/0 137:139 -W eth0
       ipfwadm -I -P udp -a deny -S any/0 137:139 -W eth0
       ipfwadm -O -P tcp -a deny -S any/0 137:139 -W eth0
       ipfwadm -O -P udp -a deny -S any/0 137:139 -W eth0





  9.2.2.  Uporaba ipchains

  Dodajte naslednje vrstice v va¹o datoteko /etc/rc.local:




  ipchains -A input -p tcp -j DENY --destination port 137:139 -i eth0
  ipchains -A input -p ucp -j DENY --destination port 137:139 -i eth0
  ipchains -A output -p tcp -j DENY --destination port 137:139 -i eth0
  ipchains -A output -p ucp -j DENY --destination port 137:139 -i eth0






  10.  Zakljuèek

  S tem zakljuèujem ta mini Korak za Korakom vodiè skozi namestitev
  Samba Serverja.  Ta dokument nikakor ne nadome¹èa originalne
  dokumentacije!  Èe potrebujete veè informacij, pojdite na naslov
  <http://www.samba.org/> in preberite njihovo dokumentacijo.

  Upam, da vam bo ta dokument uporaben.