Inleiding

Booten
Bootmanagers
Console
Hardware
Internet
Kernel
Netwerken
Programma's (software)
Updaten
Installatie
Voorbereiding
X-server

Skins
Thema's

 
 
 

 


Last updated
23/01/2004
 
 
 

 

 
 
Via Samba bestanden en printers delen:


Samba is een krachtig gereedschap om van elke unix machine een bestand- en printerserver te maken voor DOS en Windows computers die kan concureren met de bekende Novell en NT-servers. Het is zeer betrouwbaar en stabiel!
Het concept van MS-DOS/ WIndows netwerken verschilt zienderogen met deze van UNIX netwerken. Daarom eerst dit kort overzicht van MS-DOS/Windows netwerken en hun gebruikt protocol NetBIOS

Terug naar netwerk overzicht


NETBIOS

NetBIOS is een software interface (API) welke ontwikkeld werd voor communicatie tussen machines. Hier wordt het pincipe van naamgeving gebruikt.(name service). Dit meldt machines aan bij een netwerk door voor hen een unieke naam te reserveren. Na deze reservatie kunnen deze machines met deze naam worden geadresseerd. Er is geen centraal proces dat de namen kontroleert. Elke machine op het netwerk kan zoveel namen reserveren als nodig zolang deze al niet in gebruik is.
Deze dynamische bouw heeft zijn oorsprong in PC-netwerken waar installatie van een netwerk zo gemakkelijk mogelijk moest gebeuren. Configuratie van een machine is teruggedrongen tot het een naam toe te wijzen. Problemen voor unieke namen met een maximaal aan karakters van 16 doen zich niet voor omdat de netwerken niet zo uitgebreid zijn.
Naast deze naamtoewijzing is er de communicatie op zich. Er zijn secure en insecure data stromingen. Dit kun je vergelijken met de TCP en UDP protocollen in de UNIX wereld. De bovenliggende protocollen waar SMB er één van is draaien boven op deze laatste.
De NetBIOS namen verzonden via TCP/IP hebben niets te maken met de namen gebruikt in /etc/hosts of deze verzonden via DNS. NetBIOS gebruikt zijn eigen namen lijst. Het is echter wel aangewezen dat je dezelfde namen gebruikt om administratie makkelijker te maken. Dit is ook de Samba default. WINS is niets meer dan een uitgebreide NetBIOS naam server en GEEN uitvinding van Microsoft, enkel de naam werd gewijzigd!

SMB
SMB is feitelijk een NFS server. Maar op Windows waar elke gebruiker zich kan aanmelden als 'root' is het NFS protocol niet echt bruikbaar. (NFS werkstatons voor DOS/WINDOWS moeten aanzien worden als enorme veiligheid gaten!)
HEt SMB protocol komt vanuit de DOS wereld en heeft tergelijk een oplossing voor deze beveiligingsgaten. Elke toegang kan beveiligd worden met een paswoord. SMB heeft 3 alternatieven voor dit te verwezenlijken.
  • Share Level Security security = share(default)
    Een paswoord wordt gegeven aan elke bestand of printer deling. Iedereen die dit paswoord kent krijgt toegang tot deze bestanden/printers.
  • User Level Security security=user
    Deze variant introduceert het concept van meerdere gebruikers in SMB. Elke gebruiker moet aanloggen bij de server en krijgt zo zijn rechten voor bepaalde bestanden/printers.
  • User Level-server secured security = server
    Deze is zoals de vorige een User-level beveiliging maar de users en hun paswoorden worden gecontroleerd door een andere (NT) server welke ingesteld wordt via de optie password server

    CONFIGURATIE VAN DE SERVER

    Zo goed als alles wordt via smb.conf ingesteld.
    Dit bestand lijkt sterk op een Windows .INI bestand. Het wordt verdeeld in verschillende secties welke opzich verschillende parameters bevatten. Algemeen wordt er een bestands-deling per sectie omschreven. Er zijn echter ook nog drie speciale secties.
    Deze zijn:
    • [globals]
      Hier vind je parameters die niet rechtstreeks op een bepaalde bestandsdeling slaan maar meer op het algemene gedrag van de server.
    • [homes]
      Als deze optie wordt gebruikt kan elke gebruiker zijn 'homedirectory' inzien zonder een 'home-share' voor elke gebruiker te moeten instellen.
    • [printers]
      De printers die in /etc/printcap zijn vermeld worden met deze optie berijkbaar voor elke gebruiker!

  • smb.conf
    Een simpel voorbeeld.

    
    [global]
    	workgroup = workgroup
    	encrypt passwords = yes
    	guest account = nobody
    	keep alive = 30
    	os level = 2
    	security = share
    	;  Indien je hier voor sucurity=user kiest moet je vanaf Win98se
    	;  versleutelde paswoorden aanduiden!
      	;  security = user
      	;  encrypt passwords = yes
    	printing = bsd
    	printcap name = /etc/printcap
    	load printers = yes
    
    [homes]
    	comment = homedirectory
    	browsable = no
    	read only = no
    	create mode = 0750
    
    [printers]
    	comment = All Printers
    	browseable = no
    	printable = yes
    	public = no
    	read only = yes
    	create mode = 0700
    	directory = /tmp
    
    
    Deze /etc/smb.conf voorziet toegang voor elke gebruiker naar zijn homedirectorie en ook alle printers uit /etc/printcap.
    • workgroup = workgroup Op elke Window machine wordt samba aangemeld zoals elke andere werkgroep(workgroup) zodat het zichtbaar wordt in de netwerkomgeving. "WORKGROUP" is de standaard werkgroep voor Windows for workgroups of Win9x/ME.
    • guest account = nobody Samba gebruikt een gebruikersnaam geregistreerd in /etc/password en deze heeft gelimiteerde permissies voor bepaalde taken. Als publiek gedeelde bestanden (parameter public = yes wordt gedefineerd worden alle operaties uitgevoerd met deze user ID. Zelfs indien er geen publieke deling werd gedefinieerd kan de gebruiker guest accounts gedefinieerd worden voor de Samba machine om te verschijnen in de netwerkomgeving.
    • keep alive = 30 Windows machines hebben de vervelende gewoonte om af en toe te crashen ;)(. Als je deze connecties open laat neemt dit heel wat van je systeemcapaciteit wegnemen omdat het kan gebeuren dat je systeem pas laat merkt dat de connectie verbroken is. Als je dit liever niet hebt kan je Samba de opdracht geven om regelmatig te controleren of het werkstation nog 'leeft'.
    • os level= 2 Deze parameter specifieert dat Samba browser service naar WWW en Windows aanstuurt. Als er een NT machine op het netwerk is, laat Samba deze ongemoeid.
    • security = share Permisies
    • De volgende drie parameters zorgen voor het lezen van /etc/printcap en uitgave naar de vermelde printer.
      De sectie [homes] geeft parameters voor de homedirectories. Deze directories zijn berijkbaar via de gebruikersnaam.
    • comment = homedirectory Elke deling kan gecommentarieerd worden via de SMB servers.
    • browsable = no Deze parameter verhindert dat de homedirectories zichtbaar worden in heel het netwerk. Elke gebruiker kan zijn eigen directorie bereiken via zijn gebruikersnaam.
    • read only = no Standaard verhindert Samba schrijfrechten op elke uitgevoerde bestandsdeling. Aangelogde gebruikers moeten permissies krijgen om in hun homedirectorie te schrijven.
    • create mode = 750 Windows machines kennen niet het concept van de UNIX toegangsrechten. Daarom kunnen ze deze rechten ook niet aan de bestanden toekennen. Deze parameter geeft aan welke permissies gebruikt zullenn worden bij het creeren van een nieuw bestand.

  • INSTALLATIE OP DE WERKSTATIONS
    DOS, Windows for Workgroups, en Windows 9x/ME zijn belangrijke werkstations.
    Deze kunnen echter enkel Samba bereiken via TCP/IP. (niet NetBUI, IPX, ...)
    • Windows 95/98/ME Windows 95/98/ME heeft TCP/IP ondersteuning ingebouwd.
      Deze wordt echter niet altijd als standaard mee geïnstalleerd.
      Daarom het volgende:
      Choose configuratiescherm, netwerken.
      Selecteer het TCP/IP protocol van uw netwerkadapter. Indien dit niet in de lijst voorkomt moet u het nog installeren. Kies hier eigneschappen.

      Kies manueel IP adres.

      Geef hier het IP adres en bijhorende netmasker van deze PC in. U kunt ook nog de standaard gateway ingeven. Dit is niet echt nodig voor de werking van Samba maar indien jr met deze PC ook op het internet wil is dit nodig voor de goede werking van de router. Meer hierover op netwerken en internet connectie delen.. Als je nu de Windows PC reboot ;( (Het blijft windows) kan je de homedirectory op de Linux-PC browsen.
    • Linux Linux (UNIX) machines kunnen ook SMB-shares mounten en inzien. Dit kan men doen zowel met Samba Servers als Window Servers!

      Een SMB client programma voor UNIX machines wordt bij elke Samba distributie bijgevoegd. Het is een ftp client achtige interface aan de commando regel. Je kan deze tool gebruiken om files te transporteren tussen een Windows 'server' en een Linux werkstation.

      De meeste Linux distributies bevatten nu ook de smbfs pakketten, welke toelaten om SMB shares te mounten en unmounten.

      Om te zien welke shares er beschikbaar zijn op een client:

      /usr/bin/smbclient -L gastheer


      waar 'gastheer' de naam is van de machine die je wil bekijken. Deze zal een lijst terug sturen met beschikbare shares. Dwz. een lijst met directories en/of printers die beschikbaar zijn. De SMN-server zal je om een paswoord vragen. (als hij met paswoord protectie werd geconfigureerd.)

      Voorbeeld:

      /usr/bin/smbclient -L linuxbel


      Dit kan in het volgende resulteren:

      Server time is Sat Feb 03 12:01:12 2001
      Timezone is CET
      Password: xxxxxxxxxxx
      Domain=[WORKGROUP] OS=[Linux] Server=[Samba 2.0.3]
      
      Server=[LINUXBEL] User=[] Workgroup=[WORKGROUP] Domain=[]
      
              Sharename      Type      Comment
              ---------      ----      -------
              ADMIN$         Disk      Remote Administratie
              public         Disk      Public 
              print$         Disk      Printer       
      

      Om de client te gebruiken:

      /usr/bin/smbclient service <paswoord>


      met 'service' als de machine met de share naam. Als je bv een directory probeerd te berijken die geshared wordt als 'piublic' op de machine 'linuxbel' de service heet dan \\linuxbel\public. Omwille van beperkingen in de shell moet je de backslash laten voorafgaan door een andere backslash (escape) dit geeft dus:

      /usr/bin/smbclient \\\\linuxbel\\public paswoord


      hier 'paswoord' de letterlijke string van je paswoord. (Merk op dat het in dit voorbeeld een NT-server is en geen Linux-SMB-server. Dit om aan te tonen dat ook dit perfect mogelijk is.)

      De samba prompt zal nu verschijnen:

      Server time is Sat Feb 02 12:32:04 2001
      Timezone is CET
      Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]
      smb: \> 
      

      Tik 'h' om het help systeem te starten van de smbclient:

      smb: \> h
      ls             dir            lcd            cd             pwd            
      get            mget           put            mput           rename         
      more           mask           del            rm             mkdir          
      md             rmdir          rd             prompt         recurse        
      translate      lowercase      print          printmode      queue          
      cancel         stat           quit           q              exit           
      newer          archive        tar            blocksize      tarmode        
      setmode        help           ?              !              
      smb: \> 
      

      smbclient is enkel interessant voor testen, voor het echte gebruik is smbfs veel interessanter. Smbfs heeft 2 handige tools aan boord. smbmount en smbumount hun werking is vergelijkbaar als een mount en umount maar dan voor SMB-shares.

      Je moet wel smbfs ondersteuning via je Kernel hebben.

      Het volgende voorbeeld maakt veel duidelijk. Het is een share genoemd 'home1' op een machine met naam 'linuxbel'.

      smbmount "\\\\linuxbel\\home1" mount /home/hans/smbmnt -c user=hns,password=xyz1zYx2


      
      [root@linuxb]# smbmount "\\\\linuxbel\\home1" mount /home/hans/smbmnt -c user=hns,password=xyz1zYx2
      Added interface ip=10.0.0.2 bcast=10.255.255.255 nmask=255.0.0.0
      Got a positive name query response from 10.0.0.2 ( 10.0.0.2 )
      Server time is Sat Feb 2 12:45:16 2001
      Timezone is UTC-4.0
      Password:
      Domain=[IPM] OS=[Linux] Server=[Samba 2.0.3]
      security=user
      
      
      De linux machine zijn shares werden in de andere Linuxmachine gemount onder de directory: /home/hans/smbmnt

    Terug naar netwerk overzicht


 

BLSS

linuxbelgium.be
LB-Forum
LinuxGames
LB-Shop

 
   

Copyright ©2000-2004 ITAF bvba. All rights reserved.
All logos and trademarks in this site are property of their respective owner.
Linux is a registered trademark of Linus Torvalds.