Tillbaka på 1990-talet utvecklade Microsoft ett protokoll som gör att en Windows-maskin kan komma åt filerna och mapparna på en annan Windows-maskin. Protokollet, som kallas Common Internet File System (CIFS) - men ursprungligen kallades Server Message Block (SMB), har implementerats på andra operativsystem inklusive Linux. Det mest populära genomförandet kallas Samba och låter enheter som Raspberry Pi fungera som en CIFS-filserver. För att uttrycka det på ett annat sätt tillåter det en Windows-dator att montera en mapp på en Raspberry Pi och sedan kopiera, ta bort, läs och skriv filer på den.

Installera och konfigurera Samba på en Raspberry Pi för grundläggande fildelning är ganska enkelt. Först måste Samba-programvaran installeras. För att göra detta, använd följande kommando:

 sudo apt-get installera samba samba-common-bin 

All konfigurationsinformation om Samba lagras i filen /etc/samba/smb.conf . Standardkonfigurationsfilen behöver bara lite tweaking så att användarens hemkataloger kan delas.

Den första förändringen som måste göras är att definiera vilken typ av säkerhetsmekanism som ska användas för att kontrollera vem som har tillgång till delade filer. Det enklaste är vad som kallas "säkerhetsnivå på användarnivå" och i grunden betyder det att för att få tillgång till en delad mapp måste den anslutande klienten tillhandahålla ett giltigt användarnamn och lösenord.

Som standard exporterar Samba hemkatalogerna som skrivskyddade. Den andra ändringen ändrar det så att när du öppnar en delad mapp har du möjlighet att läsa och skriva (vilket innebär att du också kan skapa nya filer, ta bort filer osv.).

Redigera Samba-konfigurationsfilen med:

 sudo nano /etc/samba/smb.conf 

Bläddra nu tills du hittar raden # security = user och ta bort hash (#) från början av raden:

Bläddra vidare tills du hittar avsnittet [Homes] och ändra read only = yes att read only = no som visas nedan:

Tryck på "Ctrl + X" för att lämna nano-editoren och skriv "Y" för att bekräfta att filen ska sparas. Tryck på ENTER för att behålla det aktuella filnamnet (dvs /etc/samba/smb.conf).

För att starta om Samba-servern använder du följande kommando:

 sudo service samba omstart 

Det är också möjligt att berätta för Samba-servern att återläsa konfigurationsfilen utan att starta om servern (vilket innebär att inga aktuella anslutningar kommer att gå vilse). Men nackdelen är att kommandot kommer att rapportera OK även om servern inte körs. Om du är osäker på serverns körläge, använd kommandot restart ovan.

 sudo service samba reload 

Det finns ett sista steg innan du kan komma åt de delade mapparna. Eftersom servern använder "säkerhetsnivå på användarnivå" måste ett lösenord definieras för när CIFS används för att komma åt filer på Raspberry Pi. För att ställa in Samba-lösenordet för standardpi-användaren, skriv:

 sudo smbpasswd -a pi 

Detta lägger till användaren pi till listan över Samba-användare och uppmanar till ett lösenord. Du måste upprepa det här steget för andra användare du kanske har lagt till i Raspbian.

Anslut från Windows

Du kan nu ansluta till din Raspberry Pi från en Windows-maskin. Öppna "Dator" -fönstret (på Windows 7) eller "Den här datorn" (på Windows 8) och klicka på "Kartnätverksdriven" på verktygsfältet (Windows 7) eller klicka på "Kartnätverksdriven" under "Dator" (på Windows 8).

I dialogrutan Kartnätverksdrivrutin väljer du och oanvända brev från rullgardinsmenyn "Drive:" och anger \\raspberrypi\pi i fältet "Mapp:". Markera "Anslut med olika behörighetsuppgifter" och klicka på "Slutför".

Ange pi i fältet Användarnamn när du blir ombedd att ange nätverksuppgifterna. Ange lösenordet du angav tidigare i lösenordsfältet och klicka på OK.

När du är ansluten kan du manipulera filerna på Raspberry Pi med hjälp av Utforskaren.

Slutsats

Som standard delas alla användarens hemkataloger och så länge som ett Samba-lösenord har ställts in kan alla användare på Pi få tillgång till sina filer. Det är också möjligt att ansluta till Pi över samma "Windows networking" -protokoll från OS X och Linux, eftersom båda dessa stödjer CIFS.