Articles

Använda Samba för att dela filer mellan Linux och Windows

ditt hemnätverk kan ha några Windows-maskiner på bottenvåningen, en Mac i ett sovrum på övervåningen, En PocketPC på ett nattduksbord och en Linux-låda eller två i källaren, alla nätverksanslutna med en generisk router. För alla enheter i den här bekanta familjeinställningen, eller till och med ett scenario med tusentals användare, är Samba suite en idealisk lösning för fil-och utskriftsdelning.

det finns flera plattformsoberoende fil-och utskriftsdelningslösningar, men Samba och SMB/CIFS-protokollet kan vara det enklaste att implementera i en hemnätverksmiljö. Windows-maskiner och Mac-datorer har funktionaliteten att arbeta med med Samba ur lådan, och du behöver bara installera ett enda Samba-paket för Linux-maskiner. GNOME och KDE erbjuder Samba-klientfunktioner inbyggda i sina standardfilhanterare, Nautilus respektive Konqueror.

Vi fokuserar på att konfigurera och använda Samba för fil-och utskriftsdelning i ett typiskt hemnätverk med Linux-och Windows-maskiner. Du kan välja mellan flera Samba-Konfigurationsgui, men vi går den gammaldags vägen och pekar våra textredigerare till smb.conf. Konfigurationsfilen finns vanligtvis på / etc/samba / smb.conf eller/usr/lokal/samba/lib / smb.conf. Observera att du måste vara root för att redigera dessa eller använda sudo.

Samba kommer att köras på nästan alla Unix – liknande system och finns i repositorierna för nästan varje Linux-distribution. Börja med att använda din Distributions pakethanterare för att se till att den är installerad.

konfigurera Samba

Samba är ett mycket moget och komplext paket, så dess konfigurationsfil kan vara lång och komplicerad. Du måste lita på att din distribution gav dig en rimligt sund standardkonfiguration och fokusera på att ändra bara några rader i smb.conf för att se till att de är lämpliga för ett hemnätverk. Om du vill veta mer om någon rad, konsultera man smb.conf.

Kom ihåg att en rad i konfigurationsfilen som föregås av ett semikolon (;) eller hashmärke (#) är en kommentar och kommer inte att erkännas som en aktiv Inställning. För att aktivera raden, Ta bort semikolon eller hash. Det är bra att lägga till egna kommentarer föregås av en av dessa tecken så att du kommer ihåg logiken bakom din konfiguration nästa gång du laddar smb.conf.

det första alternativet att överväga är Sambas säkerhetsnivå. Denna rad visas under avsnittet I smb.conf, där all Samba-bred konfiguration är klar. De andra avsnitten, som behandlas senare i denna artikel, avser specifika Samba-tjänster (delade resurser). Säkerhetsnivån kommer sannolikt att ställas in till värdet user och se ut så här:

security = user

För ett hemnätverk kanske du vill överväga att ställa in detta till share. Huvudskillnaden är att med inställningen user måste du logga in på Samba-servern innan du kan bläddra i dess resurser. Detta är en klok försiktighetsåtgärd för otillförlitliga nätverk, men kommer att vara obekvämt när du använder resurser som du vill att hela hushållet ska ha tillgång till, till exempel en skrivare. Medshare aktiverat kan du fortfarande kräva att användare autentiserar sig med ett lösenord för att komma åt vissa resurser.

medan vi fortfarande är i avsnittet, låt oss gå vidare till skrivare. Om du använder Common UNIX Printing System (CUPS) (som de flesta distributioner är standard till), är det enda du behöver göra för att Samba ska känna igen dina skrivare följande rader i enlighet därmed:


printing = cups
printcap name = cups

eftersom du kanske konfigurerar dessa skrivare (och kanske andra resurser) för att vara tillgängliga utan användarautentisering är det mycket viktigt att du begränsar åtkomsten till endast kända och pålitliga värdar – datorerna i ditt hushåll. Se routerns manual för instruktioner om hur du tilldelar specifika IP-adresser till varje dator i ditt hemnätverk. När du har en lista över betrodda värdar anger du dem i följande rader i avsnittet :


hosts allow = computer1 computer2 computerN
hosts deny = ALL

även om du har angett att ALLvärdar nekas, kommer alla värdar som listas på hosts allow fortfarande att få åtkomst. Formatet på IP-adresserna som tilldelas varje dator av din router varierar. Till exempel, om maskiner i ditt lokala nätverk får adresser till formatet 192.168.0.x, kommer följande rader att begränsa Samba-åtkomst till lokala värdar:

hosts allow = 192.168.0.
hosts deny = ALL

Observera att den sista siffran i IP-adressen slutade på raden hosts allow. Detta anger att alla IP-adresser i det intervallet är tillåtna. För ytterligare säkerhet mot extern åtkomst, titta på att blockera Samba-portar med en brandvägg.

dela kataloger och skrivare

det är dags att gå utöver och konfigurera specifika delade resurser. Börja med avsnittet. Som standard kan distributionen ha det här avsnittet konfigurerat så att användare kan komma åt sin hemkatalog på datorn som kör Samba-servern.

Om du har security = share set, kanske den här funktionen inte fungerar som förväntat och användare kan presenteras med hemkataloger utan att logga in. Om du är den enda med en hemkatalog på datorn som kör Samba-servern ändå, vilket sannolikt är i en hemnätverksmiljö, är det lämpligt att ta bort eller kommentera (med hashmärken eller semikolon) och lägga till några användbara kataloger som delade resurser individuellt senare.

Nu kan du börja dela specifika kataloger. Använd detta som en mall för en offentligt delad mapp för vilken det inte är nödvändigt för användare att autentiseras:


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

Share Name är vilken titel du än väljer (för klienten som kommer åt din server verkar detta vara namnet på den delade katalogen). Linjen guest ok = yes är det som anger denna andel som offentligt tillgänglig. Raden browseable = yes gör att aktien visas tillgänglig för alla användare. Ange browseable = no för att tvinga användare att manuellt skriva in delningsnamnet för att komma åt det. Naturligtvis kan du ställa in read only = yes för att begränsa användare från att göra ändringar i katalogen på distans.

använd detta som en mall för privata aktier som användare måste ange ett lösenord för att komma åt:


path = /location/of/directory
valid users = user
read only = yes
browseable = no

Här,user är användarnamnet på datorn som kör Samba-servern för personen med åtkomstbehörighet till aktien. Använd dessa två mallar för att lägga till aktier för alla filer som användare kanske vill komma åt från serverns maskin.

din server ska vara helt konfigurerad nu. Med vad du lagt till standardinställningarna som tillhandahålls av din distribution, din färdiga smb.conf ska se ut så här:

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

innan du lämnar servermaskinen har du några fler snabba sysslor. Ange först alla användare som kommer åt Samba-servern i följande kommando:

smbpasswd -a user

Du uppmanas att ange ett Samba-lösenord för varje användare. Du kan ändra lösenordet när som helst genom att logga in som önskad användare och köra smbpasswd. Starta nu om din Samba-server med det här kommandot:

/etc/init.d/samba restart

åtkomst till Samba-aktier från Windows-klienter

gå över till en Windows-maskin för att prova din nya installation. Din nya server ska visas i Windows ’ Mina nätverksplatser (leta efter genvägen på skrivbordet som standard). Alternativt öppnar du Start-menyn och klickar på ”Kör…” och anger sedan:

\server

byta ut server med namnet eller IP-adressen på den maskin som kör din Samba-server. Ett Windows Explorer-fönster med de bläddringsbara aktierna från din server bör öppnas. Om du har gjort en icke-bläddringsbar Del, öppna den med den här länken:

\servershare name

är lätt att göra delade kataloger mer tillgängliga. I Windows XP högerklickar du på aktien i Utforskaren och väljer ”Map Network Drive…” Du kommer att kunna tilldela dem en enhetsbokstav, till exempel Z:, så att de lätt kan hittas i min dator, även efter en omstart.

i min testning på Windows XP med säkerhetsnivån inställd påshare upptäcks skrivare automatiskt och kan användas från Windows-datorn. Med user nivåsäkerhetsuppsättning var det nödvändigt att logga in på servern i ett Windows Explorer-fönster innan du försökte skriva ut. Din upplevelse på andra versioner av Windows kan variera.

åtkomst till SMB/CIFS-aktier från andra Linux-maskiner

Samba-och Windows-aktier kan enkelt nås från standardfilhanterarna för både Gnome och KDE. Vi börjar med att komma åt aktier från Nautilus i Gnome. Öppna Nautilus och gå till File -> Anslut till servern.

Välj ”Windows share” i listrutan och ange servernamnet eller IP-adressen för din Samba-server. Du kan också klicka på knappen ”Bläddra i nätverk” och titta i katalogen ”Windows Network” för att söka efter servern manuellt. Klicka på ”Anslut” och ett Nautilus-fönster öppnas med de bläddringsbara resurserna på din Samba-server.

att komma åt Samba-aktier med Konqueror är lika enkelt. Om du vill söka efter din server anger du webbadressen remote:/ i Konqueror. För direkt åtkomst, skriv serverns URL direkt i det här formatet:

smb://user@server/share

Observera att användare och delning är valfria kriterier.

konfigurera skrivare över Samba är lika enkelt i båda dessa skrivbordsmiljöer. I Gnome, gå till System – > Administration -> utskrift. I skrivarkonfigurationsprogrammet väljer du Skrivare – > Lägg till skrivare. Du kommer att bli ombedd att ange ditt lösenord. I guiden Lägg till skrivare väljer du” nätverksskrivare ”och sedan” Windows Printer SMB ” i listrutan. Du kommer att bli ombedd att ange ett användarnamn och lösenord på din Samba-server. Identifiera din värd och skrivare på Samba-servern och gå sedan vidare till nästa skärm. Välj skrivarmodell och klicka sedan på Verkställ.

för att göra detsamma i KDE, öppna konfigurationscentret genom att starta kommandot kcontrol. Navigera till Skrivarmodulen och gå till Lägg till – > Lägg till skrivare/klass… i den resulterande dialogrutan klickar du på Nästa och väljer sedan ” SMB shared printer (Windows).”Klicka på Nästa igen och konfigurera användarnamnet och lösenordet för ett ”normalt konto”, om du använder user nivå säkerhet. Klicka på nästa gång och skanna sedan för att söka efter din Samba-server.

alternativt anger du serverinformationen manuellt. På nästa skärm väljer du din skrivarmodell från listan. Klicka igenom de närmaste skärmarna och ge din nätverksskrivare en titel för att avsluta.

felsökning

om du har haft problem med att få någon av den här funktionen att fungera, vänd dig till Samba felsökning checklista. Ett snabbt trick lånat från det dokumentet för att testa din Samba-konfigurationsfil för uppenbara fel är att köra följande kommando:

testparm smb.conf

igen, den exakta sökvägen för din smb.conf kan variera beroende på distribution.

Vi har bara undersökt grundläggande Samba-funktionalitet här, skräddarsydd för ett hemnätverk. Mer extrema användningsscenarier behandlas i detalj i Samba by exempelguide.