Bestanden delen tussen een Windows- en een Linux-computer is niet moeilijk. Ook omgekeerd is dit mogelijk. Deze functie zit zelfs standaard in Linux Mint. Toch loopt dat niet altijd van een leien dakje. Daarom bekijken we nog twee alternatieve tools voor bestandsdeling.

 

Nemo

Linux Mint’s bestandsbeheerder Nemo bevat een optie om via Samba mappen te delen met Windows (of andere Linux)-computers in je netwerk. Klik daarvoor rechts op een map, kies “Sharing Options” en klik vervolgens de optie “Share this folder” aan. Vul eventueel nog een andere naam in om de map te delen (standaard is dat gewoon de mapnaam) en een uitgebreide beschrijving. Dat laatste is vooral handig als je meerdere mappen deelt met namen, die erg op elkaar lijken. Alleen jouw gebruiker krijgt nu volledige toegang, terwijl andere gebruikers de bestanden uitsluitend mogen lezen. Bestanden aanpassen of verwijderen mogen zij niet, tenzij je die optie expliciet aanvinkt. En met gasttoegang geef je leestoegang tot je map zonder wachtwoordbeveiliging. Dat gebruik je uiteraard alleen voor mappen die iedereen op jouw netwerk mag bekijken!

 

Helaas moet je nog een extra stap uitvoeren om de gedeelde map te activeren. Samba werkt immers met zijn eigen gebruikerslijst en aanvankelijk is die nog leeg. Je moet dus voor elke systeemgebruiker, waarmee je gedeelde mappen wilt benaderen, ook een Samba-gebruiker aanmaken. Open daarvoor een terminalvenster en gebruik volgende commandos:

– om een nieuwe Samba-gebruiker aan te maken: sudo smbpasswd -a <gebruikersnaam>

– om het Samba-wachtwoord van een gebruiker te wijzigen: sudo smbpasswd <gebruikersnaam>

– om de lijst van Samba-gebruikers te tonen: sudo pdbedit -L

– om een Samba-gebruiker te verwijderen: sudo smbpasswd -x <gebruikersnaam>

 

Mappen delen vanuit Nemo werkt enkel voor gebruikers, die lid zijn van de groep “sambashare”. Je krijg ook een duidelijke foutmelding te zien als dat niet het geval is. Voor elke gedeelde map wordt immers een extra configuratiebestand aangemaakt in /var/lib/samba/usershares. Het voordeel van die aanpak is dat je geen root-rechten nodig hebt om gedeelde mappen te configureren. Samba’s configuratiebestand /etc/samba/smb.conf wordt immers niet aangepast. Maar nu heb je nog steeds de commandline nodig om Samba-gebruikers te beheren: dat kan beter!

 

 

System-config-samba

Een eerste tool om Samba te configureren is system-config-samba, beschikbaar via het gelijknamige pakket. Na installatie vind je dit terug onder “Beheer” > “Samba”. De interface is erg minimaal: een lijst van gedeelde mappen en knoppen om een map toe te voegen, aan te passen of te verwijderen. Je zult ook opmerken dat Nemo’s gedeelde mappen hier ontbreken. System-config-samba beheert immers het configuratiebestand /etc/samba/smb.conf en negeert de bestanden onder /var/lib/samba/usershares. Om verwarring te voorkomen, kun je dus het best óf Nemo’s Sharing Options óf system-config-samba gebruiken, maar nooit beiden tegelijk! Ook hier beschik je over opties om naam en omschrijving van een gedeelde map in te stellen en schrijf- of gasttoegang in te schakelen.

 

System-config-samba is wel flexibeler in het bepalen wie toegang krijgt en wie niet. In Nemo geef je eigenlijk meteen alle Samba-gebruikers toegang tot een map, tenzij je dit via de onderliggende bestandspermissies weer inperkt. System-config-samba daarentegen toont een lijst van beschikbare gebruikers, waarin je expliciet aanvinkt wie toegang mag krijgen. Een tweede pluspunt is dat system-config-samba ook de mogelijkheid biedt om Samba-gebruikers te beheren. Daarvoor ga je naar “Voorkeuren” > “Samba-gebruikers”. Je ziet hier meteen alle gebruikers staan, die je al met smbpasswd had aangemaakt. Een nieuwe Samba-gebruiker aanmaken is een kwestie van een naam te kiezen (je kunt het best dezelfde naam als de systeemgebruiker nemen) en een wachtwoord in te stellen.

 

Via “Voorkeuren” > “Server-instellingen” kun je tot slot nog een aantal algemene Samba-instellingen wijzigen. In de meeste gevallen is dat echter niet nodig. We raden je wel echt aan om de Samba-documentatie te lezen, voordat je hier instellingen gaat wijzigen!

 

GAdminSamba

Van een heel ander kaliber is GAdminSamba, dat je na installatie van het pakket gadmin-samba terugvindt onder “Beheer” > “GADMIN-SAMBA”. Net zoals system-config-samba is dit een tool, die het configuratiebestand /etc/samba/smb.conf herschrijft voor jou. Helaas is GAdminSamba nogal kieskeurig wat dat bestand betreft, want het kan niet overweg met de wijzigingen die system-config-samba had doorgevoerd. GAdminSamba stelde ons dus voor om met een nieuwe configuratie te starten. Dat betekent dat je system-config-samba en GAdminSamba dus nooit op hetzelfde systeem mag gebruiken! Omgekeerd raakt system-config-samba immers ook in de war door GAdminSamba’s wijzigingen. Laat je niet afschrikken door GAdminSamba’s interface, want er staan niet minder dan negen tabbladen met soms wel tientallen opties klaar voor jou! Er zijn weinig Samba-opties, die je niet terugvindt in GAdminSamba. Het gebruikersbeheer lijkt nog enigszins op dat van system-config-samba, gedeelde mappen definiëren is echter andere koek. Directory mask, create mode, force user, force group, locking, …: het is allemaal aanwezig.

Uiteraard ben je niet verplicht om die opties te gebruiken, maar ze komen toch wel érg overweldigend over als je niet zo vertrouwd bent met de Samba-terminologie. Dat doet meteen de vraag rijzen voor wie GAdminSamba nu eigenlijk bedoeld is, want beginners hebben geen boodschap aan al die geavanceerde opties. Je moet hoe dan ook Samba’s documentatie raadplegen om die opties te begrijpen. Maar wil je je daarin verdiepen, dan kan je net zo goed het configuratiebestand /etc/samba/smb.conf zélf aanpassen. De enige meerwaarde van GAdminSamba is dat het voor jou een syntactisch correct configuratiebestand aanmaakt.

 

Permissies

Vergeet ook niet dat Samba nog steeds rekening moet houden met de toegangsrechten op bestand- of mapniveau. Het volstaat dus niet om een Samba-gebruiker via system-config-samba toegang geven tot een bepaalde map. Als de overeenkomende systeemgebruiker geen toegang heeft tot die map, krijg je een foutmelding wanneer je de gedeelde map benadert. Voor een persoonlijke map, die alleen jijzelf wilt benaderen, speelt dit niet zo’n rol. Andere gebruikers leestoegang geven lukt meestal ook wel, maar voor schrijftoegang moet je wellicht de toegangsrechten aanpassen. In bepaalde omstandigheden zal je ook met de force user/group en create mode-opties aan de slag moeten. Onthoud vooral dat niet alle problemen met toegangsrechten opgelost kunnen worden via Samba-opties. Je zult niet de eerste zijn die zich suf zit te staren op de Samba-configuratie, terwijl een eenvoudige chmod de oplossing is!

Conclusie

In dit artikel hebben we drie tools bekeken om bestanden te delen met Windows-computers. Rechtstreeks vanuit de bestandsbeheerder Nemo delen is onmogelijk zonder eerst Samba-gebruikers aan te maken via de commandline. Ook biedt Nemo erg weinig controle over wie toegang krijgt tot de gedeelde mappen en wie niet. Kun je leven met die beperkingen, dan is dit nog niet zo’n slechte keuze. Wil je zo weinig mogelijk beperkingen, gebruik dan GAdminSamba. Dat programma biedt het gros van de Samba’s opties aan. Enige nadeel: je moet Samba’s documentatie ernaast leggen om te begrijpen waarvoor die opties dienen! En als je dan toch al de documentatie moet raadplegen, kan je toch net zo goed zélf het configuratiebestand aanpassen? Wat ons betreft is system-config-samba voor de meeste toepassingen dan ook de beste keuze. Het aanmaken van gedeelde mappen is net zo eenvoudig als in Nemo én je krijgt meer mogelijkheden om de toegangsrechten te bepalen. Bovendien hoef je niet meer terug te vallen op de commandline om de Samba-gebruikers te beheren.