Folders delen met Samba

Linux mint laten samenwerken met W10 of andere linux-PC’s in het lokaal netwerk (thuis).

Linux heeft een handige tool om netwerk-shares te maken, namelijk samba.
Bij een nieuwe Linux-Mint installatie is “Samba” niet standaard geïnstalleerd, maar kan dit eenvoudig via de programmabeheerder.

Installeer Samba en Nemo-Share om bestanden te delen.


Na de installatie dient er een aanpassing te gebeuren aan de smb.conf file.
Maak eerst een veiligheidskopie.

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

open het bestand met de xed tekstbewerker.

sudo xed /etc/samba/smb.conf

voeg volgende zaken toe onder de [GLOBAL] sectie waar je de WORKGROUP ziet staan.

workgroup = WORKGROUP
server min protocol = SMB2_10
client min protocol = SMB2
client max protocol = SMB3
netbios name = PCNAS

workroup moet bij alle aangesloten computers in het netwerk dezelfde zijn en voor W10 is dit de standaard.
De protocollen worden daaronder bepaald.
netbiosname = de naam die je zal zien in het netwerk (lokaal), en mag max 15 tekens lang zijn.(geen speciale tekens).
Sla het bestand op en controleer via volgende code:

cat /etc/samba/smb.conf

Samba herstarten:

sudo systemctl restart smbd

Unix users

Vooraleer je een USER toegang kan geven tot de samba share dient deze USER aangemaakt te worden op de UNIX server PC maw enkel de administrator kan dit doen door eerst een nieuwe unix USER aan te maken. Deze nieuwe users hebben enkel een unix account en geen home directory in de admin pc, maar dit is voor deze toepassing niet nodig. voor verdere info zie useradd –help of man useradd. Onderstaand de code om een unix user aan te maken. Let op onthoud goed de username en paswoorden, want die kunnen in een unix systeem door de encrytpie nooit achterhaald worden! Het paswoord kan altijd verandert worden met passwd.

In sommige situaties willen we om veiligheidsredenen geen homedirectory’s aan een gebruiker toewijzen. In een dergelijke situatie, wanneer een gebruiker inlogt op een systeem dat net opnieuw is opgestart, is de homedirectory root. Wanneer zo’n gebruiker het su-commando gebruikt, is zijn inlogmap de thuismap van de gebruiker, en kan die het systeem benaderen, en dat is net wat we niet willen.

Om gebruikers aan te maken zonder hun homedirectory’s, wordt ‘-M’ gebruikt. De volgende opdracht maakt bijvoorbeeld een gebruiker ’test’ aan zonder een thuismap. Users die niet inloggen op de pc en enkel via samba shares aanloggen moeten geen home directory hebben !!

sudo useradd -M test
#of
sudo useradd -gM sambashare  test

De laatste code zal de user ook toewijzen aan de group sambashare.

Samba Users

Samba heeft aparte username’s los van het linux systeem maw, voor iedere gebruiker dien je een apparte username en paswoord aan te maken. Na het invoeren van de usernaam zal er gevraagd worden een paswoord aan te maken. Na deze stap is Samba geconfigureerd.

sudo smbpasswd -a usernaam

Wil je een samba user verwijderen uit het systeem:

sudo smbpasswd -x username

Samba herstarten:

sudo systemctl restart smbd
eventueel de naamserver ook heropstarten=
sudo systemctl restart nmbd

controle van gemaakte samba users.

test samba server op fouten:

testparm

Maak nu een map aan in uw homefolder bv. “share” en rechtsklik om het bestands-delen in te schakelen

Zoek nu je eigen lokaal ip adres om straks te weten waar de verbinding zich bevindt.

ip addr | grep inet

de lokatie om uw map te benaderen met een W10 pc zal dan ongeveer er zo moeten uitzien:
\\192.168.0.123\share
om via een andere linux pc te benaderen via de nemo bestandsverkenner =
smb://192.168.0.123/share
iedereen met het toegezegde username en paswoord en die zich in de groep sambashare bevindt zal de map kunnen benaderen, schrijven, lezen en deleten, dus voor specifieke toegangen kan je de vinkjes aanpassen ivm de bestandsrechter per gebruiker.

zie voorbeeld:

Multishares

Om meerdere mensen aan te loggen en een multishare te maken dienen deze users elk een unix en smb username en paswoord aan te maken op de admin pc, maw de admin kan dit enkel doen. (zie voorgaande) Let op : het folder path kan je kiezen maar moet eerst aangemaakt worden !! De adminuser is de user naam van degene die de share maakt. Nu kunnen alle toegewezen users de folder benaderen, schrijven enz, maw dit kan werken als een soort van NAS drive voor thuis of kantoor. De onderstaande code dient op het einde van de smb.conf file bijgevoegd te worden en aangepast naar uw keuze. De group naam van samba kan teruggevonden worden bij systeeminstelling “gebruikers en groepen”. De onderstaande code kan dus aangepast of gekopieerd worden zodat verschillende users verschillende mappen hebben bv algemeen een gemeenschappelijke map. De mogelijkheden zijn dus groot en moeten dus weldoordacht overwogen worden wie wat waar mag zien en doen.

[localsharefolder]
path = /home/$USER/sharedfolder/
comment = nas_drive
browseable = yes
writable = yes
guest ok = no
valid users=user1,user2,user3, @sambashare
force group = sambashare
write mode = 775
directory mode = 775

Voor een goede beschrijving ivm file permissions zie volgende link of in volgende link

Op deze manier kan je een eigen netwerk share opmaken voor thuis en op kantoor. Dus als je nog ergens een oudere pc hebt , installeer er een linux OS op en samba share en maak er een soort van NAS of eigen lokale CLOUD van. Nadeel hiervan is dat je die pc 24/24h moet laten draaien en regelmatig wel eens een backup zal moeten maken van de sharefolder zodat er niets verloren gaat. Dit kan dus heel eenvoudig met zelfs een 10 jaar oude laptop, die verbruiken weinig energie (+-50€/jaar) en zijn dan nog ergens nuttig voor. Onderstaand nog een filmpje hoe je de folder kan bereiken via W10.

Om het iets gemakkelijker te maken is er een script geschreven om het beheren van de samba shares en voor het maken en verwijderen van users. De software houd rekening met wat type of user er aangemaakt of verwijderd wordt, de admin user kan dus niet verwijderd worden. Ook werd er een tool voorzien om gemakkelijk het configuratie bestand aan te passen en er wordt steeds een backup gemaakt vooraleer de wijzigingen doorgevoerd worden zodat je altijd kan terugkeren naar een vorige situatie.

onderstaand kan je het script “sambamanager” downloaden en uitvoeren. Voor het uitvoeren dien je het bestand uitvooerbaar te maken via de filemanager of via de terminal met volgende commando sudo chmod +x sambamanager.sh

Als samba share niet te bereiken is, kan het zijn dat de firewall roet in het eten gooit, test eerst door de firewall uit te zetten, als dit werkt dan moet er een rule toegevoegd worden aan de firewall de status toont de status van de firewaal, enable or disable zet de firewall aan of uit, allow maakt de samba rule aan, app list toont de apps die toegang krijgen, en show added toon de rules die vrijgemaakt zijn in de firewall

Men kan deze configuratie ook eenvoudig doen via de GUI in linux mint “firewall”

om een samba locatie te openen via de terminal tik volgende code en geef het paswoord

Een reactie achterlaten

Je e-mailadres zal niet getoond worden. Vereiste velden zijn gemarkeerd met *