Tilbage i 1990'erne udviklede Microsoft en protokol, der giver en Windows-maskine adgang til filer og mapper på en anden Windows-maskine. Protokollen, der er kendt som Common Internet File System (CIFS) - men oprindeligt blev kaldt Server Message Block (SMB), er blevet implementeret på andre operativsystemer, herunder Linux. Den mest populære implementering kaldes Samba, og det gør det muligt for enheder som Raspberry Pi at fungere som en CIFS-filserver. For at sige det på en anden måde tillader det en Windows-pc at montere en mappe på en Raspberry Pi og derefter kopiere, slette, læse og skrive filer på den.

Installation og konfiguration af Samba på en Raspberry Pi til grundlæggende fildeling er ret simpelt. Først skal Samba-softwaren installeres. For at gøre dette skal du bruge følgende kommando:

 sudo apt-get install samba samba-common-bin 

Alle konfigurationsoplysninger om Samba er gemt i filen /etc/samba/smb.conf . Standardkonfigurationsfilen behøver kun lidt justering, så brugerens hjemmapper kan deles.

Den første ændring, der skal foretages, er at definere, hvilken type sikkerhedsmekanisme der skal bruges til at kontrollere, hvem der har adgang til de delte filer. Det enkleste er det, der hedder "brugersikkerhed", og det betyder i grunden, at for at få adgang til en delt mappe, skal forbindelsesklienten angive et gyldigt brugernavn og adgangskode.

Som standard eksporterer Samba hjemmekatalogerne som skrivebeskyttet. Den anden ændring ændrer dette, så når du får adgang til en delt mappe, har du evnen til at læse og skrive (hvilket betyder at du også kan oprette nye filer, slette filer osv.).

Rediger Samba konfigurationsfilen ved hjælp af:

 sudo nano /etc/samba/smb.conf 

Nu rul ned til du finder linjen # security = user og fjern hash (#) fra starten af ​​linjen:

Rul ned længere, indtil du finder sektionen [Homes] og ændr read only = yes at read only = no som vist nedenfor:

Tryk på "Ctrl + X" for at forlade nano-editoren og skriv "Y" for at bekræfte, at filen skal gemmes. Tryk på ENTER for at beholde det aktuelle filnavn (dvs. /etc/samba/smb.conf).

For at genstarte Samba-serveren skal du bruge følgende kommando:

 sudo service samba genstart 

Det er også muligt at fortælle Samba-serveren at genlæse konfigurationsfilen uden at genstarte serveren (hvilket betyder, at nogen aktuelle forbindelser ikke går tabt). Men ulempen er, at kommandoen vil rapportere OK selvom serveren ikke kører. Hvis du er i tvivl om serverens driftstilstand, skal du bruge restart kommandoen ovenfor.

 sudo service samba genindlæse 

Der er et sidste trin, før du kan få adgang til de delte mapper. Da serveren bruger "sikkerhedsniveau på brugerniveau", skal en adgangskode defineres, når CIFS bruges til at få adgang til filer på Raspberry Pi. For at indstille Samba-adgangskoden til standardpi-brugeren, skriv:

 sudo smbpasswd -a pi 

Dette vil tilføje brugeren pi til listen over Samba brugere og anmode om en adgangskode. Du skal gentage dette trin for alle andre brugere, du måtte have tilføjet til Raspbian.

Opret forbindelse fra Windows

Du kan nu oprette forbindelse til din Raspberry Pi fra en Windows-maskine. Åbn vinduet "Computer" (Windows 7) eller "Denne pc" (på Windows 8), og klik på "Map Network Drive" knappen på værktøjslinjen (Windows 7) eller klik på "Map Network Drive" knappen under "Computer" (på Windows 8).

I dialogboksen Kortnetværksdrev skal du vælge og ubrugt drevbogstav fra rullemenuen "Drev:" og indtaste \\raspberrypi\pi i feltet "Mappe:". Marker "Connect using different credentials" og klik på "Finish".

Indtast pi i feltet Brugernavn, når du bliver bedt om at indtaste netværksoplysningerne. Indtast det kodeord, du tidligere har angivet i adgangskodefeltet, og klik på OK.

Når du er tilsluttet, kan du manipulere filerne på Raspberry Pi ved hjælp af Windows Stifinder.

Konklusion

Som standard deles alle brugerkataloger, og så længe et Samba-kodeord er indstillet, kan alle brugere på Pi'en få adgang til deres filer. Det er også muligt at oprette forbindelse til Pi over den samme "Windows networking" -protokol fra OS X og Linux, da begge disse understøtter CIFS.