Samba filserver. Vad är SAMBA? Snabb och enkel installation samba Vad är samba
Samba är ett program som tillåter UNIX / Linux -datorer att efterlikna Windows -maskiner. Med Samba kan datorer utbyta filer eller hantera utskriftsjobb som filservrar eller Windows -skrivarservrar. Precis som UNIX / Linux -operativsystemet som det körs på är Samba programvara med öppen källkod utvecklad av många programmerare.
SMB -protokollet används av Microsoft Windows 2000, NT och 95/98 för att ge åtkomst till diskar och skrivare. Använda Andrew Tridgells Samba Toolkit ( [e -postskyddad]), Kan UNIX -maskiner (inklusive Linux) organisera åtkomst till diskar och skrivare för Windows -maskiner. Smbfs-verktygen skriven av Paal-Kr. Engstad ( [e -postskyddad]) och Volker Lendecke ( [e -postskyddad]), gör det möjligt för UNIX -maskiner att montera SMB -resurser som är tillgängliga på Windows- eller Samba -maskiner.
Följande vanligaste kan implementeras med Samba:
- Ge Linux -disk åtkomst till Windows -maskiner.
- Få åtkomst till Windows -diskar för Linux -maskiner.
- Ge åtkomst till Linux -skrivare för Windows -maskiner.
- Få åtkomst till Windows -skrivare från Linux -system.
Installera och testa Samba
Installationen bör, som du vet, börja med en detaljerad studie av dokumentationen. De flesta systemadministratörer ignorerar dock denna regel, guidad av en annan: "Om allt annat misslyckas, läs dokumentationen." I allmänhet rekommenderar vi att du startar Samba -installationen med ett enkelt kommando: $ man samba (Figur 1).
Och även från att läsa dokumentationen som finns på http://www.samba.org/. Det bör noteras att för att använda Samba måste din maskin vara på ett enda Ethernet LAN -segment som använder TCP / IP -protokollet. Samba fungerar inte med andra nätverksprotokoll. Detta är i princip enkelt, eftersom Linux och Windows 95/98 / NT levereras med TCP / IP -stöd. Men om du använder Windows 3.x -maskiner måste du lägga till TCP / IP -stöd.
Vart ska man få
För att få källorna till den senaste versionen av Samba, gå till http://www.samba.org/ och välj spegelservern närmast dig: ftp://ftp.samba.org/. Samba -paketet ingår i distributioner av ett antal UNIX / Linux -system, till exempel Rad Hat eller Suse Linux. Läs din Linux -dokumentation noggrant, och det är fullt möjligt att allt du behöver göra är att sätta i CD -skivan och installera Samba -paketen. I det här fallet kan du fortsätta läsa artikeln från nästa kapitel.
Efter att ha fått det här paketet extraherar vi allt som finns under "stämpeln" * .tar.gz, till exempel i / tmp -katalogen (och du behöver inte vara root för detta :), det vill säga:
$ tar -zxvf samba -latest.tar.gz
Om du inte har några problem med att extrahera det här paketet hittar du en ny katalog, till exempel samba-senaste, med de extraherade filerna. Gå till den, titta i filerna "README" och "Manifest" - installationsanvisningarna finns i den sista filen och ser ungefär ut så här:
$ ./konfigurera $ make $ su # make install
Nu måste du vara uppmärksam på var dina konfigurationsfiler finns. De flesta Samba -distributioner lägger dem som standard i / etc -katalogen och själva i katalogen / usr / local / samba.
Samba -konfiguration
Grundläggande Samba -konfigurationsinformation finns i filen smb.conf. Denna fil bör hanteras med försiktighet. Om du planerar att ändra arbetsversionen på något sätt, var noga med att göra en kopia.
För att kunna starta servern för första gången måste du ha en fungerande version av filen smb.conf. Byt till katalogen där konfigurationsfilen ska finnas. Mest troligt blir det / etc eller / usr / local / samba / lib. Gör en kopia av den här filen, till exempel smb.old, om du har root -behörigheter. Nu när du har en "ren" fil kan du ange den enklaste konfigurationen, det vill säga skriva följande rader:
#Basic Samba -konfigurationsfil (smb.conf) arbetsgrupp = PTO -nätbiosnamn = GALKA
Nedan kommer vi att förstå vad dessa rader betyder i konfigurationsfilen, men först tar vi tillfälligt en paus från den och går vidare till SMB -demonerna.
Lanserar demoner
Det finns två SMB -demoner: / usr / sbin / smbd och / usr / sbin / nmbd. Du kan starta Samba-demoner från inetd eller som en fristående process. Samba svarar något snabbare när den startas som en fristående process.
Ibland är det nödvändigt att kontrollera om det finns linjer som liknar följande i filen / etc / services:
Netbios-ns 137 / tcp nbns netbios-ns 137 / udp nbns netbios-dgm 138 / tcp nbdgm netbios-dgm 138 / udp nbdgm netbios-ssn 139 / tcp nbssn
Se till att alla inte kommenteras. Beroende på din distribution kan du till och med behöva lägga till dem i den här filen. Samba kommer inte att kunna binda till lämpliga portar förrän dessa rader finns i filen / etc / services.
För att starta demoner från inetd, placera följande rader i inetd -konfigurationsfilen, /etc/inetd.conf:
# SAMBA NetBIOS-tjänster (för PC-fil- och utskriftsdelning) netbios-ssn stream tcp nowait root / usr / sbin / smbd smbd netbios-ns dgram udp wait root / usr / sbin / nmbd nmbd
Starta sedan om inetd -demonen genom att köra kommandot:
Döda -HUP 1 `cat / var / run / inetd.pid`
För att starta demoner från systemstartskript, placera följande skript i /etc/rc.d/init.d/smb (för RedHat -distribution) eller /etc/rc.d (för användning av Linux -distribution) och skapa symboliska länkar till det med namn /etc/rc.d/rcX.d/S91smb (startar SMB -tjänster i fleranvändarläge), /etc/rc.d/rcX.d/K91smb (dödar SMB -tjänster vid avstängning), /etc/rc.d/rc6 .d / K91smb (dödar SMB -tjänster vid omstart), där X är systemstartnummer, vanligtvis 2 eller 3.
#! / bin / sh. /etc/rc.config # Bestäm basen och följ ett runlevel -namn. bas = $ (0 ## * /) länk = $ (bas # *) # Tvinga körning om den inte anropas av en runlevel -katalog. test $ link = $ base && START_SMB = yes test "$ START_SMB" = "ja" || exit 0 # Echo -returvärdet för framgång (definierat i /etc/rc.config). return = $ rc_done case "$ 1" i start) echo -n "Starta SMB -tjänster:" startproc / usr / sbin / nmbd -D || return = $ rc_failed startproc / usr / sbin / smbd -D || return = $ rc_failed echo -e "$ return" ;; startd) echo -n "Starta SMB -tjänster:" startproc / usr / sbin / nmbd -D -d 10 || return = $ rc_failed startproc / usr / sbin / smbd -D -d 10 || return = $ rc_failed echo -e "$ return" ;; stop) echo -n "Stänga av SMB -tjänster:" killproc -TERM / usr / sbin / nmbd || return = $ rc_failed killproc -TERM / usr / sbin / smbd || return = $ rc_failed echo -e "$ return" ;; starta | ladda om) $ 0 stop && $ 0 start || retur = $ rc_failed ;; status) echo -n "Kontrollerar service smb:" checkproc / usr / sbin / nmbd && echo -n "OK" || echo -n "Ingen process" checkproc / usr / sbin / smbd && echo "OK" || eko "Ingen process" ;; *) echo "Användning: $ 0 (start | stopp | starta om | ladda om | status)" exit 1 esac # Informera den som ringer inte bara ordagrant och ställa in en utgångsstatus. test "$ return" = "$ rc_done" || avsluta 1 avsluta 0
Om du, när du startar Samba, får ett meddelande om att demon inte kan ansluta till port 139, har du troligtvis redan kört Samba -processer som inte har avslutats. Titta på processlistan (med kommandot "ps ax | grep mbd") för att se om det finns fler Samba -tjänster som körs. Om demonerna vägrar starta av någon annan anledning, passar det här troligen inte att ditt skript passar din UNIX / Linux och du måste gräva i dokumentationen igen, fixa något i det och kanske skriva om det.
Grundläggande smb.conf -inställning
Uppenbarligen, i konfigurationen som beskrivs ovan, kan Samba fungera, men kan praktiskt taget inte göra någonting. Mer användbara och komplexa exempel kommer att diskuteras nedan. Men först måste du förstå smb.conf -direktiven.
Varje avsnitt i filen börjar med en sektionsrubrik, t.ex.
Gå nu till den allra första fliken "Konfiguration" och klicka på knappen "Fil- och utskriftsdelning". I fönstret som visas markerar du rutorna "Filer på den här datorn kan delas" (jag vill kunna ge andra åtkomst till mina filer) och "Skrivare på den här datorn kan göras offentliga" (jag vill kunna låta andra skriva ut till mina skrivare (er).
Slutligen berättar vi för Windows att Samba är WINS -servern och att Samba kommer att vara sökmästaren. För att göra detta, gå till TCP / IP -protokollets egenskaper (Figur 4). I fönstret som visas väljer du WINS -konfiguration. Markera rutan “Aktivera WINS -upplösning.” I fältet “Primär WINS -server” (WINS -serversökorder), skriv serverns IP -adress (Samba) - 192.168.0.1 och klicka på ”Lägg till” eller gå bara till fliken Avancerat och klicka på på Browse Master i det vänstra fönstret och ställ in värdet till Disabled i det högra fönstret.
I Windows NT är skärmarna för nätverksegenskaper något annorlunda (visas i figurerna), men det allmänna konstruktionskonceptet förblir detsamma.
Efter att du har startat om Windows, klicka gärna på "Network Neighborhood" och du kommer att kunna se Samba -servern, liksom din hemkatalog på Linux -servern. Nu kan du helt enkelt mappa dessa resurser som nätverksenheter och tilldela dem enhetsbokstäver.
Låt oss komplicera konfigurationen lite: vi kommer att göra / home / public -katalogen läsbar för alla, men vi tillåter bara personer från gruppen ADMINS att lägga in information i den. För att göra detta, låt oss ändra posten enligt följande:
Kommentar = Public Stuff path = / home / public public = ja skrivbar = ja utskrivbar = ingen skrivlista = @ADMINS
Det finns många fler exempel på Samba -filserverkonfigurationer tillgängliga, men det är bäst om du tittar på Samba -dokumentationen eller man -sidorna och räknar ut dem själv.
Åtkomst till Windows -diskar från Linux
Det är osannolikt att nybörjare av Linux -operativsystem snabbt kommer att kunna förstå systemet för åtkomst till Linux -filer från Windows, och vice versa. Men allt är inte så komplicerat. Åtkomst till Linux -resurser från under Windows beskrevs kort ovan, och vi kommer nu att överväga åtkomst till Windows -resurser från under Linux.
SMB -klientprogrammet för UNIX / Linux -maskiner ingår i Samba -distributionen. Det ger ett ftp-liknande kommandoradsgränssnitt. Du kan använda det här verktyget för att överföra filer mellan en Windows "server" och en Linux -klient.
För att se vilka resurser som finns tillgängliga på en viss dator, kör kommandot:
/ usr / sbin / smbclient -L -värd
där värden är namnet på den maskin du vill se. Det här kommandot returnerar en lista med servicenamn - det vill säga namnen på enheter eller skrivare som kan nås. Tills SMB -servern är konfigurerad utan åtkomstkontroll kommer den att be dig om ett lösenord. Som svar på förfrågan anger du lösenordet för användarens "gäst" eller ditt personliga lösenord på denna maskin.
Kör följande kommando för att använda klienten:
/ usr / sbin / smbclient service
där service är namnet på maskinen och tjänsten. Om du till exempel försöker komma åt en katalog som är tillgänglig som offentlig på en maskin som heter galka, bör tjänstens namn vara \\ galka \ public.
Du får en smbclient -prompt:
Servertiden är den 22 maj 15:58:44 2001 Tidszon är UTC + 10.0 Domän = OS = Server = smb: \>
Kommandona för att använda Samba är desamma som för ftp, men om du inte vet hur du använder någon av dem skriver du h för hjälp.
Du kan naturligtvis använda smbclient för testning, men du kommer tröttna på det väldigt snart. Du kommer sannolikt att behöva smbfs -paketet för att få det att fungera. Smbfs kommer med två enkla verktyg, smbmount och smbumount. De fungerar som montering och montering för små och medelstora resurser. Till exempel,
Smbmount // datornamn / katalog / Mountpoint -U användarnamn
Som ett resultat kommer du att få en "monterad" resurs med möjlighet att komma åt den med de vanliga metoderna för utforskaren.
Linux -skrivarserver
För att organisera åtkomst till en Linux -skrivare från Windows -maskiner måste du se till att skrivaren fungerar under Linux. Om du kan skriva ut på Linux är det väldigt enkelt att komma åt skrivaren.
Lägg till skrivarinställningen i din smb.conf -fil:
Utskrift = bsd printcap namn = / etc / printcap ladda skrivare = ja loggfil = /var/log/samba-log.%m låskatalog = / var / lock / samba kommentar = Alla skrivares säkerhet = server sökväg = / var / spool / lpd / lp bläddrande = ingen utskrivbar = ja offentlig = ja skrivbar = inget skapande läge = 0700 säkerhet = serverväg = / var / spool / lpd / lp skrivarnamn = lp skrivbar = ja offentlig = ja utskrivbar = ja utskriftskommando = lpr -r -h -P% p% s
Se till att sökvägen till skrivaren (i vårt fall för) matchar den spolade katalogen som anges i filen / etc / printcap, det vill säga kontrollera om det finns rader:
Printcap name = / etc / printcap ladda skrivare = ja
Dessa rader styr om alla skrivare som anges i / etc / printcap ska laddas som standard. I det här fallet behöver du inte konfigurera varje skrivare separat. Det här avsnittet anger inställningarna för de skrivare som du vill definiera uttryckligen. Om utskriftssystemet du använder inte fungerar på det här sättet (BSD) måste du skapa en falsk printcap -fil (eller använd "utskriftskommandot", se nedan). Mer information om printcap-systemet finns i Printing-HOWTO.
Få tillgång till en Windows -skrivare från Linux -maskiner
För att komma åt skrivaren på en Windows -maskin måste följande villkor vara uppfyllda:
- Du måste ha rätt poster i filen / etc / printcap, som måste stämma överens med den lokala katalogstrukturen (för den kylda katalogen etc.)
- Du bör ha ett skript / usr / bin / smbprint. Det kommer med Samba -källor, men inte alla Samba -binärer.
- Om du vill konvertera ASCII -filer till PostScript måste du ha nenscript eller motsvarande. Nenscript -programmet är en PostScript -omvandlare som vanligtvis installeras i katalogen / usr / bin.
Posten i följande / etc / printcap -fil gäller en HP 5MP -skrivare på en Windows NT -server. Följande fält i filen / etc / printcap används:
Cm - kommentar; lp är namnet på enheten som ska öppnas för utmatning; sd - skrivarspolekatalog (på den lokala maskinen); af - bokföringsfil för skrivaranvändning; mx - maximal filstorlek (noll - ingen gräns); if är namnet på inmatningsfiltret (script).
Utdrag av filen / etc / printcap:
# / etc / printcap # # // galka / oreilly via smbprint # lp: \: cm = HP 5MP Postscript OReilly på galka: \: lp = / dev / lp1: \: sd = / var / spool / lpd / lp: \: af = / var / spool / lpd / lp / acct: \: mx # 0: \: if = / usr / bin / smbprint:
Se till att de kylda katalogerna och katalogen som används för redovisning finns och är skrivbara. Se till att "if" -raden innehåller rätt sökväg till smbprint -skriptet (nedan) och att posterna pekar på rätt utmatningsenhet (/ dev specialfil).
#! / bin / sh –x # # Debugging log file, ändra till / dev / null om du vill. # logfile = / tmp / smb-print.log # logfile = / dev / null # # Den sista parametern i filtret är bokföringsfilnamnet. # spool_dir = / var / spool / lpd / lp config_file = $ spool_dir / .config # Ska läsa följande variabler i konfigurationsfilen: # server # service # lösenord # användareval `cat $ config_file` # # Vissa felsökningshjälp, ändra >> till> om du vill ha samma utrymme. # echo "server $ server, service $ service" >> $ loggfil ( # OBS! Du kanske vill lägga till raden `echo translate" om du vill ha automatisk # CR / LF -översättning när du skriver ut .echo translate echo "print -" cat) | / usr / bin / smbclient "\\\\ $ server \\ $ service" $ lösenord -U $ användare -N -P >> $ loggfil
De flesta Linux -distributioner har nenscript för att konvertera ASCII -dokument till PostScript.
Slutsats
På senare tid var Sambas möjligheter endast begränsade till de som anges ovan. Det är dock säkert att säga att den nya versionen av Samba 2.2 hinner med Windows 2000 vad gäller funktionalitet och innehåller ytterligare förbättringar. Samba -utvecklaren Jeremy Allison kallar det en "viktig uppdatering" som hjälper Samba -system lättare att distribuera i Microsofts nätverk. Programvaran ger besparingar inte bara för att du inte behöver betala för serverns operativsystem, utan också för att du inte behöver betala "klient" -licenser för alla datorer som använder servern.
Om nya funktioner i Samba 2.2. läs vår artikel ”Samba 2.2 - vad ny » .
ComputerPress 10 "2001
Samba är programvara för att organisera filutbyte och arbeta med delade resurser mellan datorer som kör Linux / Unix och Windows operativsystem. Samba består av en klient och en server. På klientsidan kan du komma åt nätverksmappar och Windows -resurser, och serversidan öppnar i sin tur delad åtkomst till Ubuntu -mappen för andra datorer, inklusive Windows.
Denna korta handledning kommer att leda dig genom den enklaste installationen av Samba Ubuntu 18.04, samt hur du ställer in delad åtkomst till Ubuntu -mappen med flera behörighetsnivåer.
Vi kommer att skapa tre delade mappar med olika behörighetsnivåer. En mapp med anonym åtkomst, med åtkomst för användare som tillhör en specifik grupp och endast åtkomst för en specifik användare.
Både Linux- och Widnows -maskiner kommer att kunna komma åt delade mappar i Ubuntu, med alla program som fungerar över SMB -protokollet.
För att allt ska fungera korrekt måste alla maskiner vara i samma arbetsgrupp som anges på Samba -servern. Som standard heter arbetsgruppen för Windows, Linux och MacOS arbetsgrupp. För att ta reda på vilken arbetsgrupp som används i din Windows, öppna en kommandotolk (Win + R, sedan cmd) och kör följande kommando:
net config -arbetsstation
Vi ser parametern vi behöver i raden Arbetsstationens domän... Det här är arbetsgruppen.
Om en dator med en Samba -server i ditt nätverk har en permanent IP -adress är det lämpligt att ange den i värdfilen. För att göra detta, kör kommandotolken som administratör:
Och kör kommandot:
anteckningsblock C: \ Windows \ System32 \ drivers \ etc \ hosts
I filen som öppnas lägger du till en rad med datorns IP -adress som Samba kommer att installeras på:
192.168.0.1 srvr1.domain.com srvr1
Nu kan du gå vidare till frågan om hur du delar Ubuntu -mappen.
Samba -installation på Ubuntu 16.04
Låt oss börja som vanligt med installationen. Installera Samba Ubuntu tillsammans med alla nödvändiga komponenter görs med kommandot:
sudo apt-get install -y samba samba-common python-glade2 system-config-samba
När allt är installerat kan du gå vidare till konfigurationen. Säkerhetskopiera först den ursprungliga Samba -konfigurationsfilen:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
När du har skapat en säkerhetskopia skapar du din konfigurationsfil med det här kommandot:
sudo vi /etc/samba/smb.conf
Låt oss först ange de globala filserverinställningarna. För att göra detta, infoga följande rader i filen:
arbetsgrupp = WORKGROUP
netbios namn = Ubuntu Share
dns proxy = nej
max stockstorlek = 1000
passdb backend = tdbsam
unix lösenordssynkronisering = ja
byte av lösenord för pam = ja
karta till gäst = dålig användare
usershare tillåta gäster = ja
Låt oss titta närmare på vad dessa rader betyder.
- arbetsgrupp- arbetsgruppen, som redan nämnts, bör vara densamma på alla maskiner
- netbios namn- namnet på den dator som ska visas i Windows;
- loggfil- adressen till filen där felmeddelanden och annan information kommer att lagras;
- säkerhet- som standard utför autentisering på användarnivå;
- namn lösa ordning- ordningen för upplösning av IP -adresser efter NetBIOS -namn. bcast - betyder att skicka en sändningsbegäran till det lokala nätverket. Om alla datorer mellan vilka du planerar att interagera finns i samma nätverk är detta alternativ optimalt;
- passdb backend- ett sätt att lagra användarlösenord;
- unix lösenordssynkronisering- synkronisering av samba -användarlösenord med lokala Unix -lösenord;
- karta till gäst- anger när användaren kommer att få gäståtkomst. Det finns tre värden tillgängliga - aldrig- aldrig, dålig användare- när det inte finns någon sådan användare, dåligt lösenord- när lösenordet anges felaktigt,
När du har skapat konfigurationsfilen, låt oss gå vidare till frågan om hur du delar Ubuntu -mappen för Windows.
Dela Ubuntu -mappen
Låt oss först skapa en delad mapp som är tillgänglig för alla. Det vill säga med anonym åtkomst, utan samba -tillstånd.
Skapa en mapp som vi öppnar åtkomst till, till exempel:
sudo mkdir -p / samba / allaccess
När mappen har skapats måste du ställa in rätt åtkomsträttigheter för den. Följande kommandon tillåter alla att komma åt mappen och göra ägaren till ingen:
cd / samba
sudo chmod -R 0755 allaccess
sudo chown -R nobody: nogroup allaccess /
Nästa steg är att beskriva allaccess -mappen i samba -konfigurationsfilen:
sökväg = / samba / allaccess
kan läsas = ja
skrivbar = ja
gäst ok = ja
skrivskyddad = nej
Din konfigurationsfil ska nu se ut så här:
arbetsgrupp = WORKGROUP
server string =% h server (Samba, Ubuntu)
netbios namn = Ubuntu Share
dns proxy = nej
loggfil = /var/log/samba/log.%m
max stockstorlek = 1000
passdb backend = tdbsam
unix lösenordssynkronisering = ja
passwd -program = / usr / bin / passwd% u
byte av lösenord för pam = ja
karta till gäst = dålig användare
usershare tillåta gäster = ja
#==============
sökväg = / samba / allaccess
kan läsas = ja
skrivbar = ja
gäst ok = ja
skrivskyddad = nej
Låt oss titta närmare på alternativen som användes här:
- väg- sökvägen till den mapp du vill dela;
- kan bläddras- om mappen kommer att visas i listan över tillgängliga resurser;
- skrivbar- om mappen kommer att vara tillgänglig för skrivning;
- skrivskyddad- mappen är skrivskyddad;
- gäst ok, offentlig- om gäståtkomst kommer att tillåtas.
- enda gäst- om det är inställt på ja, är mappen endast tillgänglig för gäster.
- värdar tillåter- ip -adresser från vilka du kan få åtkomst till denna server;
- giltiga användare- som standard kan alla användare logga in, om en lista med användare skickas i denna parameter kan bara de logga in;
- skapa mask- mask av rättigheter för skapade filer.
Starta om Samba -servern för att tillämpa ändringarna:
sudo systemctl starta om samba
Samba -installationen för Ubuntu 16.04 för anonym åtkomst är nu klar. Nu kan du kontrollera tillgängligheten för allaccess delad mapp från Windows, för att göra detta, tryck på Win + R och kör:
\\ srvr1 \ allaccess
Du kommer att se vår mapp. Om du inte ser det, kontrollera konfigurationen igen. Mappen kan nås utan samba -tillstånd. Inställningen av Samba -aktier med obehörig åtkomst är nu klar.
Du kan också ansluta till den här servern från Linux med Nautilus, skriv bara adressen smb: // server ip, under andra platser:
Skyddad delning av Ubuntu -mapp
Om du vill dela en mapp för Windows Ubuntu, som bara användare från en specifik grupp har tillgång till, skapar du en separat mapp och beskriver den i Samba -konfigurationsfilen i Ubuntu.
Skapa först en mapp:
sudo mkdir -p / samba / allaccess / säkrad
Skapa en grupp:
sudo tilläggsgrupp säkerhetsgrupp
Konfigurera rättigheterna:
cd / samba / allaccess
$ sudo chown -R richard: säkrad grupp säkrad
$ sudo chmod -R 0770 säkrad /
Det sista steget är att lägga till inställningarna i samba -konfigurationsfilen:
sudo vi /etc/samba/smb.conf
sökväg = / samba / allaccess / säkrad
giltiga användare = @securedgroup
gäst ok = nej
skrivbar = ja
kan läsas = ja
Starta om Samba -servern. Nu kan bara användare av säkerhetsgruppen komma åt den delade mappen i Ubuntu.
För att kontrollera hur det fungerar, låt oss lägga till användaren richard i vår grupp:
sudo usermod -a -G säkrad grupp richard
I den här självstudien kommer vi att lära oss hur du installerar och konfigurerar en Samba -server på Ubuntu 16.04. Samba är en gratis och öppen källkod implementering av SMB / CIFS -protokollet för Unix och Linux, vilket möjliggör kommunikation mellan filer och skrivare på Unix / och Windows på datorer i ett lokalt nätverk.
Samba är ett mjukvarupaket, varav de två viktigaste är:
- smbd: Ger SMB / CIFS -tjänster (fildelning och utskrift) och kan också fungera som en Windows -domänkontrollant.
- nmbd: tillhandahåller namntjänst för NetBIOS
Så här installerar du en Samba -server på Ubuntu 16.04
Samba ingår i de flesta Linux -distributioner. För att installera Samba på, kör helt enkelt:
Sudo apt installera samba
Den senaste stabila versionen är tillgänglig 4.5.3, släppt den 19 december 2016. För att kontrollera versionen Samba , springa
Sudo smbstatus
Sudo smbd -version
Utmatningsexempel:
Samba version 4.3.11-Ubuntu
För att kontrollera om Samba -tjänsten körs, kör följande kommandon.
Systemctl status smbd systemctl status nmbd
För att starta dessa två tjänster, kör följande kommandon:
Sudo systemctl start smbd sudo systemctl start nmbd
Efter lanseringen, smbd lyssnar på port 139 och 445.
Redigera konfigurationsfilen
Det finns bara en konfigurationsfil som behöver redigeras: /etc/samba/smb.conf.
Sudo nano /etc/samba/smb.conf
Kontrollera värdet i avsnittet arbetsgrupp tillhör en arbetsgrupp med Windows -datorer.
Arbetsgrupp = WORKGROUP
Rulla ner till botten av filen. (I textredigeraren nano trycker du på CTRL + W och sedan CTRL + V.) Inkludera ett nytt avsnitt enligt nedan. Ersätt användarnamn med ditt önskade användarnamn.
Kommentar = Hem offentlig mapp sökväg = / home / användarnamn / skrivbar = ja giltiga användare = användarnamn
Home Share är namnet på mappen som visas i Windows -nätverket. Kommentaren är beskrivningen av den delade mappen. De följande tre raderna anger att endast de angivna giltiga användarna har åtkomst till / home / användarnamn / katalogen, som också är skrivbar. Ovanstående konfiguration inaktiverar anonym åtkomst.
Spara och stäng filen och kör sedan följande kommando för att kontrollera om det finns syntaxfel.
Testparma
Användarskapande
Samba innehåller användaren som säkerhetsläge som standard, vilket innebär att klienter måste ange ett användarnamn och lösenord för att komma åt den delade mappen. För att lägga till en användare till Ubuntu, kör följande kommando:
Sudo adduser användarnamn
Du kommer att uppmanas att ange ett Unix -lösenord. Dessutom måste du ange ett separat Samba -lösenord för användaren med följande kommando:
Sudo smbpasswd -en användarnamn
Nu är det bara att starta om smbd -demonen.
Sudo systemctl starta om smbd
Samba -åtkomst till en delad mapp från Windows
På en Windows -dator som är i samma nätverk öppnar du Utforskaren och klickar på Nätverk i den vänstra rutan. Du kommer att se en samba -server. Dubbelklicka på den delade mappen och ange användarnamn och lösenord.
Samba -åtkomst för att dela mapp från Ubuntu -dator
I filhanteraren går du till fliken Nätverk i den vänstra rutan och väljer Windows -nätverk.
Välj en arbetsgrupp, Samba -server och delad mapp och ange sedan Samba -användarnamn och lösenord.
Lägga till flera användare eller grupper
Om flera konton behöver komma åt den delade mappen måste du ändra de kvalificerade användarna som visas nedan i filen /etc/samba/smb.conf.
Giltiga användare = användare1, användare2, användare3
Använd också smbpasswd för att ställa in Samba -lösenordet för var och en av dessa användare.
Sudo smbpasswd -a user1 sudo smbpasswd -a user2 sudo smbpasswd -a user3
För att ge en grupp användare åtkomst till den delade mappen, använd följande konfiguration /etc/samba/smb.conf.
Giltiga användare = @sambashare
Skapa en grupp.
Sudo -grupp lägger till sambashare
Lägg sedan till användare i den här gruppen
Sudo gpasswd -a user1 sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare
Gruppen måste ha skrivbehörighet till den delade mappen, vilket kan uppnås med följande två kommandon.
Ange sambashare som gruppägare till en delad mapp:
Sudo chgrp sambashare / path / to / shared / folder -R
Bevilja skrivåtkomst till gruppen.
Sudo chmod g + w / path / to / shared / folder / -R
Jag hoppas att den här artikeln hjälpte dig att konfigurera en Samba -server på Ubuntu 16.04. Som alltid, om du tyckte att det här inlägget var till hjälp, kan du avsluta prenumerationen i kommentarerna.
Samba -konfigurationsfilen är /etc/samba/smb.conf. Den ursprungliga konfigurationsfilen har en betydande mängd kommentarer för att dokumentera de olika konfigurationsdirektiven.
Alla möjliga alternativ ingår inte i standardkonfigurationsfilen. Se manualen man smb.konf eller Samba FAQ för mer information.
1. Ändra först följande nyckel / värdepar i avsnittet fil /etc/samba/smb.conf:
Arbetsgrupp = EXEMPEL ... säkerhet = användare
Parameter säkerhet ligger mycket lägre i sektionen och kommenteras som standard. Byt också ut EXEMPEL något mer lämpligt för din miljö.
2. Skapa ett nytt avsnitt i slutet av filen, eller avmarkera ett av exemplen för katalogen du vill dela:
Kommentar = Ubuntu filserver Delningsväg = / srv / samba / dela surfbar = ja gäst ok = ja skrivskyddad = ingen skapa mask = 0755
kommentar: kort beskrivning av den delade resursen. Används för din bekvämlighet.
väg: sökväg till den delade katalogen.
I det här exemplet används / srv / samba / sharename eftersom, i enlighet med standarden för filsystemhierarki (FHS), är / srv -katalogen där all data som är relaterad till en given webbplats ska finnas. Tekniskt sett kan Samba-resursen placeras var som helst i filsystemet där filbaserade åtkomstbegränsningar tillåter, men det rekommenderas att följa standarder.
kan bläddras: Tillåter Windows -klienter att visa innehållet i den delade katalogen med hjälp av Utforskaren.
gäst ok: Tillåter klienter att ansluta till den delade resursen utan att ange ett lösenord.
skrivskyddad: Avgör om resursen är skrivskyddad eller med skrivrättigheter. Skrivrättigheter är endast tillgängliga när de anges Nej som visas i detta exempel. Om värdet ja, kommer åtkomsten till resursen att vara skrivskyddad.
skapa mask: Bestämmer vilka behörigheter som kommer att ställas in för de nya filer som skapas.
3. Nu när Samba är konfigurerad måste du skapa en katalog och ange behörigheter för den. Ange i terminalen:
Sudo mkdir -p / srv / samba / dela sudo chown ingen. Grupp / srv / samba / dela /
parameter -s säger till mkdir att skapa ett komplett katalogträd om det inte finns.
4. Slutligen starta om samba -tjänsterna för att tillämpa de nya inställningarna:
Sudo restart smbd sudo restart nmbd
Nu kan du hitta Ubuntu -filserver med Windows -klient och bläddra bland dess delade kataloger. Om din klient inte automatiskt visar dina delade resurser kan du försöka komma åt din server med dess IP -adress, till exempel \\ 192.168.1.1, från ett fönster i Utforskaren. För att testa att allt fungerar, försök skapa en katalog i din Windows -resurs.
För att skapa ytterligare resurser, skapa ett nytt avsnitt i /etc/samba/smb.conf och starta om Samba. Se bara till att den delade katalogen är skapad och har rätt behörigheter.
Delad resurs "" och vägen / srv / samba / delaär bara exempel. Ange resursnamn och katalognamn enligt din miljö. Det är en bra idé att använda namnet på dess katalog i filsystemet som namnet på resursen. Med andra ord kan resursen anges som för / srv / samba / qa -katalogen.