Articles

Samba gebruiken om bestanden te delen tussen Linux en Windows

uw thuisnetwerk kan een paar Windows-machines op de begane grond hebben, een Mac in een slaapkamer boven, een PocketPC op een nachtkastje, en een Linux box of twee in de kelder, allemaal verbonden met een generieke router. Voor alle apparaten in deze vertrouwde familie setup, of zelfs een scenario met duizenden gebruikers, de Samba suite is een ideale oplossing voor het delen van bestanden en afdrukken.

Er bestaan verschillende cross-platform bestanden en print-sharing oplossingen, maar Samba en het SMB/CIFS protocol kunnen het makkelijkst te implementeren zijn in een thuisnetwerkomgeving. Windows-machines en Macs worden geleverd met de functionaliteit om mee te werken met Samba out of the box, en je hoeft alleen maar een Samba-pakket voor Linux-machines te installeren. GNOME en KDE bieden Samba client functionaliteit ingebouwd in hun standaard file managers, Nautilus en Konqueror, respectievelijk.

We zullen ons richten op het configureren en gebruiken van Samba voor het delen van bestanden en afdrukken in een typisch thuisnetwerk met Linux en Windows machines. U kunt kiezen uit verschillende samba configuratie GUI ‘ s, maar we gaan de ouderwetse route en wijzen onze tekstverwerkers naar smb.conf. Het configuratiebestand is vaak te vinden in /etc / samba / smb.conf of / usr / local/samba/lib / smb.conf. Merk op dat je root moet zijn om deze te bewerken, of gebruik sudo.

Samba zal draaien op bijna elk Unix-achtig systeem en kan worden gevonden in de repositories van zowat elke Linux-distributie. Begin met het gebruik van de pakketbeheerder van uw distributie om er zeker van te zijn dat deze is geïnstalleerd.

Samba configureren

Samba is een zeer volwassen en complex pakket, dus het configuratiebestand kan lang en ingewikkeld zijn. U zult erop moeten vertrouwen dat uw distributie u een redelijk correcte standaardconfiguratie heeft gegeven en zich richten op het wijzigen van slechts een paar regels in smb.conf om ervoor te zorgen dat ze geschikt zijn voor doeleinden van een thuisnetwerk. Als u meer wilt weten over een regel, raadpleeg dan man smb.conf.

onthoud dat elke regel in het configuratiebestand voorafgegaan door een puntkomma (;) of hash mark (#) een commentaar is en niet herkend zal worden als een actieve instelling. Om de regel te activeren, verwijdert u de puntkomma of hash. Het is een goed idee om uw eigen opmerkingen voorafgegaan door een van deze tekens toe te voegen, zodat u de logica achter uw configuratie de volgende keer dat u SMB Laden zult onthouden.conf.

De eerste optie om te overwegen is het beveiligingsniveau van Samba. Deze regel zal verschijnen onder de sectie van smb.conf, waar alle Samba – brede configuratie wordt gedaan. De andere secties, die later in dit artikel worden behandeld, hebben betrekking op specifieke Samba-diensten (gedeelde bronnen). Het beveiligingsniveau wordt hoogstwaarschijnlijk ingesteld op de waarde user en ziet er als volgt uit:

security = user

voor een thuisnetwerk kunt u overwegen dit in te stellen op share. Het belangrijkste verschil is dat u met de instelling user moet inloggen op de Samba-server voordat u door de Bronnen kunt bladeren. Dit is een verstandige voorzorgsmaatregel op niet-vertrouwde netwerken, maar zal lastig zijn bij het gebruik van middelen die u wilt dat uw hele huishouden toegang tot, zoals een printer. Metshare ingeschakeld, kunt u nog steeds van gebruikers verlangen dat ze zich authenticeren met een wachtwoord om toegang te krijgen tot bepaalde bronnen.

terwijl we nog in de sectie staan, gaan we verder met printers. Als je het Common UNIX Printing System (CUPS) gebruikt (waar de meeste distributies standaard op staan), is het enige wat je hoeft te doen om Samba je printers te laten herkennen de volgende regels dienovereenkomstig in te stellen:


printing = cups
printcap name = cups

aangezien u deze printers (en misschien andere bronnen) configureert om toegankelijk te zijn zonder gebruikersauthenticatie, is het erg belangrijk dat u de toegang beperkt tot alleen bekende en vertrouwde hosts – de computers in uw huishouden. Raadpleeg de handleiding van uw router voor instructies over het toewijzen van specifieke IP-adressen aan elke computer in uw thuisnetwerk. Als u eenmaal een lijst met vertrouwde hosts hebt, voert u deze in op de volgende regels in de sectie:


hosts allow = computer1 computer2 computerN
hosts deny = ALL

hoewel u hebt opgegeven dat ALL hosts geweigerd moeten worden, krijgt elke host die vermeld staat op de hosts allow toegang. Het formaat van de IP-adressen die door uw router aan elke computer zijn toegewezen, varieert. Bijvoorbeeld, als machines op uw lokale netwerk adressen krijgen van het formaat 192.168.0.x, zullen de volgende regels Samba toegang tot lokale hosts beperken:

hosts allow = 192.168.0.
hosts deny = ALL

merk op dat het laatste cijfer van het IP-adres is weggelaten op de hosts allow lijn. Hiermee wordt aangegeven dat elk IP-adres in dat bereik is toegestaan. Voor extra beveiliging tegen externe toegang, kijk naar het blokkeren van Samba-poorten met een firewall.

mappen en printers delen

het is tijd om verder te gaan dan en Specifieke gedeelde bronnen te configureren. Begin met de sectie. Standaard heeft uw distributie deze sectie geconfigureerd om gebruikers toegang te geven tot hun persoonlijke map op de machine waarop de Samba server draait.

als u security = share hebt ingesteld, werkt deze functie mogelijk niet zoals verwacht en kunnen Gebruikers persoonlijke mappen krijgen zonder in te loggen. Als u de enige bent met een persoonlijke map op de machine waarop de Samba-server toch draait, wat waarschijnlijk in een thuisnetwerkomgeving is, is het raadzaam om de sectie te verwijderen of een commentaar te geven (met hashmarks of puntkomma ‘ s) en later alle nuttige mappen afzonderlijk als gedeelde bronnen toe te voegen.

nu kunt u beginnen met het delen van specifieke mappen. Gebruik dit als een sjabloon voor een openbaar gedeelde map waarvoor gebruikers niet hoeven te worden geauthenticeerd:


path = /location/of/directory
guest ok = yes
browseable = yes
read only = no

Share Name is welke titel u ook kiest (voor de client die toegang heeft tot uw server, zal dit de naam van de gedeelde map lijken te zijn). De guest ok = yes regel is wat deze share als publiek toegankelijk specificeert. De browseable = yes regel zal de share beschikbaar maken voor alle gebruikers. Stel browseable = no in om gebruikers te dwingen de share naam handmatig in te typen om toegang te krijgen. Natuurlijk kunt u read only = yes Instellen om gebruikers te beperken wijzigingen aan te brengen in de map op afstand.

Gebruik dit als een sjabloon voor privé-shares die gebruikers een wachtwoord moeten invoeren om toegang te krijgen tot:

Hier is user de gebruikersnaam op de machine die de Samba-server draait van de persoon met toegangsrechten tot de share. Gebruik deze twee sjablonen om shares toe te voegen voor alle bestanden die gebruikers mogelijk willen openen vanaf de server machine.

uw server zou nu volledig geconfigureerd moeten zijn. Met wat je hebt toegevoegd aan de standaardwaarden van je distributie, je voltooide smb.conf zou er ongeveer zo moeten uitzien:

security = shareworkgroup = HOMEserver string = %h serverlog file = /var/log/samba/log.%mmax log size = 1000dns proxy = Nohosts allow = 192.168.0.hosts deny = ALLprinting = cupsprintcap name = cupspath = /var/spool/sambaprintable = Yesbrowseable = Nopath = /var/lib/samba/printerspath = /Public/Filesguest ok = yesread only = nobrowseable = yespath = /private/files/valid users = meread only = yesbrowseable = no

voordat u de server verlaat, hebt u nog een paar snelle klusjes. Voer eerst alle gebruikers die toegang krijgen tot de Samba-server in het volgende commando:

smbpasswd -a user

u wordt gevraagd een Samba-wachtwoord in te voeren voor elke gebruiker. U kunt het wachtwoord op elk moment wijzigen door in te loggen als de gewenste gebruiker en smbpasswduit te voeren. Herstart nu je Samba server met dit commando:

/etc/init.d/samba restart

toegang krijgen tot SAMBA-shares van Windows-clients

Ga naar een Windows-machine om uw nieuwe installatie uit te proberen. Uw nieuwe server moet verschijnen in Windows ‘ mijn netwerk plaatsen (kijk voor de snelkoppeling op uw bureaublad, standaard). U kunt ook het menu Start openen en Op “Run…” klikken, en vervolgens:

\server

vervangen door server met de naam of het IP-adres van de machine waarop uw Samba-server draait. Een Windows Verkenner venster met de browseable shares van uw server moet openen. Als u een niet-browsebare share hebt gemaakt, kunt u deze Openen met deze link:

\servershare name

is eenvoudig om gedeelde mappen toegankelijker te maken. Klik in Windows XP met de rechtermuisknop op de share in Explorer en kies “Map Network Drive…” U kunt ze een stationsletter toewijzen, zoals Z:, zodat ze gemakkelijk in mijn Computer kunnen worden gevonden, zelfs na een reboot.

in mijn testen op Windows XP met het beveiligingsniveau ingesteld op share, worden printers automatisch gedetecteerd en beschikbaar voor gebruik vanaf de Windows-machine. Met user niveau beveiliging ingesteld, was het noodzakelijk om in te loggen op de server in een Windows Verkenner venster voordat geprobeerd werd om af te drukken. Uw ervaring met andere versies van Windows kan variëren.

toegang krijgen tot SMB / CIFS-shares van andere Linux-machines

Samba-en Windows-shares zijn gemakkelijk toegankelijk vanuit de standaard bestandsbeheerders van zowel Gnome als KDE. We beginnen met de toegang tot shares van Nautilus in Gnome. Open Nautilus en ga naar Bestand – > verbinden met Server.

kies “Windows share” uit de listbox en voer de servernaam of het IP-adres van uw Samba-server in. U kunt ook op de knop “Browse Network” klikken en in de map “Windows Network” kijken om handmatig naar de server te zoeken. Klik op “Connect” en er wordt een nautilus venster geopend met de browseable resources van uw Samba server.

toegang tot SAMBA-shares met Konqueror is net zo eenvoudig. Om naar uw server te zoeken, voert u de URL remote:/ in Konqueror in. Voor directe toegang, typ de URL van de server in direct in dit formaat:

smb://user@server/share

merk op dat Gebruiker en delen optionele criteria zijn.

het configureren van printers via Samba is net zo eenvoudig in beide bureaubladomgevingen. Ga In Gnome naar System -> administratie -> afdrukken. Selecteer Printer -> printer toevoegen in de toepassing printerconfiguratie. U wordt gevraagd om uw wachtwoord. Selecteer in de wizard printer toevoegen “netwerkprinter” en vervolgens “Windows Printer SMB” in de keuzelijst. U wordt gevraagd om een gebruikersnaam en wachtwoord op uw Samba server. Identificeer uw Host en Printer op de Samba server en ga vervolgens naar het volgende scherm. Selecteer het printermodel en klik vervolgens op Toepassen.

om hetzelfde te doen in KDE, opent u het configuratiecentrum door het commando kcontrolte starten. Navigeer naar de Printers module en ga naar Add – > Add Printer/Class… Klik in het resulterende dialoogvenster op Next en selecteer vervolgens ” SMB shared printer (Windows).”Klik nogmaals op Volgende en configureer de gebruikersnaam en het wachtwoord van een “normaal account”, als u user niveau beveiliging gebruikt. Klik op Volgende een andere keer en vervolgens scannen om te zoeken naar uw Samba-server.

U kunt ook de servergegevens handmatig invoeren. Selecteer op het volgende scherm het printermodel in de lijst. Klik door de volgende schermen en geef uw netwerkprinter een titel om af te ronden.

probleemoplossing

als u problemen hebt ondervonden om een van deze functies te laten werken, kunt u de controlelijst voor probleemoplossing voor Samba gebruiken. Een snelle truc geleend van dat document voor het testen van uw Samba configuratie bestand voor duidelijke fouten is om het volgende commando uit te voeren:

testparm smb.conf

nogmaals, het exacte pad van uw smb.conf kan per distributie variëren.

we hebben hier alleen de basis Samba functionaliteit onderzocht, op maat gemaakt voor een thuisnetwerk. Meer extreme gebruiksscenario ‘ s worden in detail behandeld in de Samba door voorbeeld gids.