Het delen van bestanden met een linux computer over een netwerkje kan op verschillende manieren. Een methode is het gebruik van Samba. Samba is een manier om bestanden te delen tussen verschillende computers. Samba is de manier die bedacht is door Microsoft om Windowscomputers te verbinden aan een Windowsserver. Dit protocol werd oorspronkelijk SMB genoemd en is verbasterd tot Samba. Met spreekt tegenwoordig ook wel over CIFS (Common Internet File System). Via Samba kunnen bestanden worden gekopieerd of printers gebruikt.
Deze functionaliteit is gekopieerd in Linux, zodat je een Linuxcomputer kunt verbinden aan een Windowscomputer. Hierbij kun je twee richtingen op: je kunt in Windows een map delen (sharing a folder) en deze benaderen vanuit Linux en koppelen aan het bestandsysteem van Linux of je kunt een deelbare map (share) maken in Linux en deze aankoppelen in Windows. Door nu een share van een server te koppelen aan een computer, lijkt het alsof de share een folder op de lokale harde schijf is. Bestanden kunnen vrijelijk gekopieerd worden naar deze folder, terwijl het eigenlijk op een andere computer is.
In Linux is de Samba functionaliteit gesplitst in een aantal onderdelen. De belangrijkste hiervan zijn de Sambaserver en de Sambaclient. De server dient ervoor om shares aan te maken in linux en beschikbaar te maken aan andere computers in het netwerk. Anders gezegd wordt de sambaserver gebruikt zodat computers een verbinding kunnen maken met deze computer. Met de Sambaclient kan je vanaf de computer met Linux een verbinding kan maken met een Samba server, hetzij een Linuxcomputer hetzij een Windowscomputer.
Samba maakt gebruik van NetBIOS over TCP/IP . Het is dus afhankelijk van een goed geconfigureerd netwerk . NetBIOS is een protocol dat ook door Microsoft is bedacht en maakt het mogelijk om namen te gebruiken voor computers en shares in plaats van moeilijk te hanteren IP-adressen.
Dit hoofdstuk gebruikt Samba versie 2, die gangbaar is op Mandrake 9.2 . Inmiddels is Samba versie 3 alweer algemeen beschikbaar en deze is iets uitgebreider dan versie 2.
Start Software installeren en type in het zoekveld samba . Selecteer uit het lijstje zoekresultaten samba-server , samba-client en samba-swat en installeer deze. Installeer zonodig ook de aangegeven pakketten die nodig zijn om alle afhankelijkheden te vervullen. In de boomstructuur kun je Samba-server ook direct vinden in de categorie Server --> Netwerk-computer server . Na installatie is Samba zo geinstalleerd dat het automatisch start bij het starten van de computer. Om Samba direct te starten, moet er met de hand een commando worden gegeven.
# service smb start
Er moet enkele voorbereidingen worden gedaan op de Windows computer waarmee verbinding wordt gemaakt. Er moet een share worden gemaakt, zodat er vanuit Linux verbinding hiermee kan worden gemaakt.
De instelling "Eenvoudig delen" in Verkenner --> Extra --> Mapopties --> tabblad Weergave moet aangezet worden.

Kies een map om te delen of maak een map aan. Rechtsklik op de map en kies Delen .

In het eigenschappenvenster dat nu verschijnt, klik het aankruisvakje "Van deze map een gedeelde netwerkmap maken" aan en geef een sharenaam. Deze sharenaam moet een unieke naam zijn, d.w.z. het mag niet ook voor een andere share op deze computer gebruikt worden. Klik OK om het venster te sluiten.

In Windows 2000 is de werkwijze bijna hetzelfde als in Windows XP, met als verschil dat de instelling "Eenvoudig delen" niet bestaat.
Kies een map om te delen, of maak er een aan. Rechtsklik op de map en kies Delen .


In het Eigenschappenvenster van de map, kies "Deze map delen", en vul een sharenaam in. Je mag deze sharenaam zelf kiezen zolang het korter is dan 15 tekens, en geen leestekens bevat.
Het is niet verplicht om de machtingen in te stellen. Klik op de knop Machtigingen om deze in te stellen. Bij verstek heeft de groep Iedereen alle machtigingen. Er zijn dus geen beperkingen en iedereen mag alle bestanden in deze map aanmaken, wijzigen of verwijderen.

Klik op OK om het venster te sluiten, en nog eens OK om het eigenschappenvenster te sluiten.
Deze map kan nu worden benaderd via het netwerk als \\computernaam\data of als \\ip-adres-van-computer\\data . Vul in plaats van computernaam of ip-adres de betreffende gegevens in van de computer waar de share is aangemaakt.
TIP : Het kan lang duren voordat een computer kan worden bereikt via de computernaam. Door het ip-adres van de computer te gebruiken, in plaats van de computernaam, is een verbinding sneller gemaakt.
Om verbinding te krijgen met de share data op computer 172.18.10.104
wordt nu een koppeling gemaakt tussen een folder op de lokale computer
en de share. Dit wordt gedaan met het mount
programma. Een speciale uitvoering hiervan is het smbmount
programma. Het volgt dezelfde werkwijze als het koppelen van een schijf
aan het Linux bestandssysteem.
Allereerst is het nodig om een map te maken waaraan de share kan worden gekoppeld. Traditioneel worden algemeen toegankelijke mappen in de map /mnt aangemaakt door root, maar dat is niet perse nodig. Een gebruiker kan zelf ook een map maken in zijn homedirectory. In dit voorbeeld wordt uitgegaan van een normale gebruiker die een map maakt in zijn homedirectory.
$ md ~/data
Op de commandoregel voert de gebruiker root het volgende commando uit.
$ smbmount //172.18.10.104/data ~/data -o username=administrator
1867: session request to 172.18.10.104 failed (Called name not present)
1867: session request to 172 failed (Called name not present)
Password:
Het commando specifieert dat de een verbinding wordt gelegd met de computer met ip-adres 172.18.10.104 . Het commando geeft aan dat de share wordt gekoppeld aan de map ~/data . Hierbij is aangegeven dat de verbinding wordt gemaakt als de gebruikers administrator. Deze gebruiker moet een geldige gebruiker zijn op de Windowscomputer. Het vraagt tenslotte om het wachtwoord voor deze gebruiker.
Op computers met Windows NT, 2000 of XP is het in de regel nodig om een naam van een geldige gebruikersnaam op de Windows computer te gebruiken. Dit hoeft niet perse administrator te zijn, maar het mag ook een willekeurige andere gebruiker zijn. Hieruit blijkt een aspect van veiligheid: niet iedereen krijgt toegang! Je moet wel het wachtwoord weten van de gebruiker administrator om verbinding te krijgen.
In Windows 98 en ME bestaat er geen gebruiker en is de toegang tot de share uitsluitend bepaald door een wachtwoord dat aan de share gekoppeld is. Hierbij mag de gebruikersnaam bij het koppelen achterwege blijven. Indien op de Windowscomputers een wachtwoord is gekoppeld aan de share, dan moet dit wachtwoord bij het koppelen van de share op de Linuxcomputer gegeven worden.
Een andere manier om een verbinding te leggen is om de computer aan te duiden met de computernaam. De computernaam in het voorbeeld heet PB112 en het commando wordt als volgt.
$ smbmount //pb112/data ~/data -o username=administrator
Password:
De share data is vervolgens bereikbaar in de map ~/data . Alle bestanden in de map /mnt/data staan opgeslagen op de Windowscomputer.
Eventueel kan het wachtwoord ook tegelijk opgegeven worden.
$ smbmount //pb112/data ~/data -o username=administrator,password=blablabla
Om de koppeling van de share met de map te verbreken, gebruik het commando smbumount , zoals hier:
$ smbumount ~/data
Om verbinding te maken met Linux vanaf een Windows computer (of een andere Linux computer) moet eerst een share worden gemaakt in Linux. Daarna wordt een verbinding opgezet vanaf de Windows computer.
Een simpele share kan worden gemaakt door een definitie van een share toe te voegen in de Samba configuratie. Eerst wordt een directory aangemaakt in de homedirectory van Cursist genaamd share . De cursist voert het volgende uit:
$ md ~/share
Dit maakt een folder aan die wordt ingesteld als share. Dit wordt gedaan door als root het bestand /etc/samba/smb.conf te bewerken in een editor en het volgende toe te voegen na de laatste regel.
[cursist]
path = /home/cursist/share
guest ok = yes
writable = yes
Hiermee wordt dat de map /home/cursist/share nu wordt gedeeld en dat deze share nu beschikbaar is onder de naam cursist .
Vervolgens wordt de samba deamons opnieuw gestart om deze configuratiewijziging te maken. Dit doet root als volgt.
# service smb restart
Vanaf nu kan er vanaf de Windows computer al deze share gekoppeld worden, maar men heeft nog slechts leestoegang tot deze map. Om ook schrijftoegang te geven tot deze share, is het nodig om een sambagebruiker te maken en hieraan een wachtwoord te geven. We gebruiken hiervoor de naam cursist en het wachtwoord maken we ook cursist.
# smbpasswd -a cursist cursist
Ga naar de verkenner, klik in menu Extra op "Netwerkverbinding
aanmaken". Kies schijf Z: om te koppelen . Vul het IP-adres van de
Linuxcomputer in en de naam van de share. Maak met Kladblok een nieuw
bestand in de zojuist aangekoppelde share.
De configuratie van een samba server is mogelijk door het bewerken van het configuratiebestand /etc/samba/smb.conf in een editor.
SWAT is de webinterface om de samba server te beheren. Met SWAT kan het beheer van Samba en het aanmaken van shares op de computer een stuk makkelijker gedaan worden. Het nadeel hiervan is wel dat alle commentaar in het configuratiebestand verloren gaan, zodra wijzigingen met SWAT zijn aangebracht. Om SWAT te starten, wordt dit commando gebruikt :
# chkconfig swat on
en vervolgens
# service swat start
Hierna kan SWAT worden opgeroepen in een webbrowser op het adres http://localhost:901 .

Geef de gebruikersnaam en wachtwoord; in dit geval root en het rootwachtwoord.
Let op: het wachtwoord mag niet leeg blijven, want dat wordt niet geaccepteerd door SWAT. Als het rootwachtwoord leeg is (zoals op de cursus) , dan moet root eerst het wachtwoord veranderen, zodat het niet leeg is. Dan pas kan root zich aanmelden op SWAT.
Om help te krijgen, probeer het man commando met als parameter het commando waarover je help wilt krijgen, bijvoorbeeld man smbmount . Ook man samba geeft help, maar dan over de samba server.
Om alles te weten te komen over Samba of om de laatste versie te downloaden, ga naar http://www.samba.org . Hier vind je Samba 3 en ook versie 2, documentatie, FAQs en HOWTOs .