Hur man får samba att fungera. Samba filserver
Samba är programvara för att organisera fildelning och arbeta med delade resurser mellan datorer som kör Linux/Unix och operativsystemet Windows. Samba består av en klient- och serverdel. Klientdelen låter dig komma åt nätverksmappar och Windows-resurser, och serverdelen öppnar i sin tur allmän åtkomst till Ubuntu-mappen för andra maskiner, inklusive Windows.
Denna korta instruktion kommer att täcka den enklaste installationen av Samba Ubuntu 18.04, samt hur man ställer in delad åtkomst till Ubuntu-mappen med flera nivåer av privilegier.
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 åtkomst endast för en specifik användare.
Både Linux- och Windows-maskiner kan komma åt delade mappar i Ubuntu, med vilket program som helst som körs över SMB-protokollet.
För att allt ska fungera korrekt måste alla maskiner finnas i samma arbetsgrupp som anges på Samba-servern. Som standard, för Windows, Linux och MacOS, kallas arbetsgruppen Workgroup. För att ta reda på vilken arbetsgrupp som används i ditt Windows, öppna kommandoraden (Win+R, sedan cmd) och kör följande kommando:
net config arbetsstation
Vi ser parametern vi behöver i raden Arbetsstationsdomän. Detta är arbetsgruppen.
Nu, om en dator med en Samba-server i ditt nätverk har en permanent IP-adress, är det lämpligt att ange den i hosts-filen. För att göra detta, kör kommandoraden 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 IP-adressen till datorn som Samba ska installeras på:
192.168.0.1 srvr1.domain.com srvr1
Nu kan du gå vidare till frågan om hur man delar Ubuntu-mappen.
Konfigurera Samba på Ubuntu 16.04
Låt oss börja, som vanligt, med installationen. Installation av 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 fortsätta till konfigurationen. Skapa först en säkerhetskopia av din ursprungliga Samba-konfigurationsfil:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
När du har skapat säkerhetskopian skapar du din konfigurationsfil med det här kommandot:
sudo vi /etc/samba/smb.conf
Låt oss först specificera de globala filserverinställningarna. För att göra detta, infoga följande rader i filen:
arbetsgrupp = ARBETSGRUPP
netbios namn = Ubuntu Share
dns proxy = nej
max stockstorlek = 1000
passdb backend = tdbsam
unix lösenordssynkronisering = ja
pam lösenordsändring = ja
map till gäst = dålig användare
usershare tillåter gäster = ja
Låt oss ta en närmare titt på vad dessa rader betyder.
- arbetsgrupp- Arbetsgruppen bör, som redan nämnts, vara densamma på alla maskiner
- netbios namn- datornamn som kommer att visas i Windows;
- loggfil- adressen till filen där felmeddelanden och annan information kommer att lagras;
- säkerhet- Utför autentisering på användarnivå som standard;
- namn lösa ordning- Upplösningsordning för IP-adresser efter NetBIOS-namn. bcast - betyder att skicka en sändningsförfrågan till det lokala nätverket. Om alla datorer mellan vilka interaktion är planerad finns på samma nätverk, är det här alternativet optimalt;
- passdb backend- metod för att lagra användarlösenord;
- unix lösenordssynkronisering- Synkronisering av samba-användarlösenord med lokala Unix-lösenord;
- karta till gäst- indikerar när användaren kommer att beviljas gäståtkomst. Tre värden är tillgängliga - aldrig- aldrig, dålig användare- när en sådan användare inte finns, dåligt lösenord- när lösenordet har angetts felaktigt,
När du är klar med att skapa konfigurationsfilen går vi vidare till frågan om hur man delar Ubuntu-mappen för Windows.
Ubuntu mappdelning
Låt oss först skapa en delad mapp som alla kan komma åt. Det vill säga med anonym åtkomst, utan samba-auktorisering.
Skapa en mapp som vi delar å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 åtkomst till mappen för alla och gör ägaren till ingen:
cd /samba
sudo chmod -R 0755 tillgång
sudo chown -R ingen:nogroup allaccess/
Nästa steg är att beskriva allaccess-mappen i samba-konfigurationsfilen:
sökväg = /samba/allaccess
bläddringsbar = ja
skrivbar = ja
gäst ok = ja
endast läs = nej
Din konfigurationsfil ska nu se ut så här:
arbetsgrupp = ARBETSGRUPP
serversträng = %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
pam lösenordsändring = ja
map till gäst = dålig användare
usershare tillåter gäster = ja
#==============
sökväg = /samba/allaccess
bläddringsbar = ja
skrivbar = ja
gäst ok = ja
endast läs = nej
Låt oss ta en närmare titt på alternativen som användes här:
- väg- sökväg till mappen som behöver delas;
- bläddringsbar- om mappen kommer att visas i listan över tillgängliga resurser;
- skrivbar- om mappen kommer att vara skrivbar;
- endast läs- mappen är skrivskyddad;
- gäst ok, offentlig- om gästtillträde kommer att tillåtas;
- enda gäst- om inställt på ja, kommer mappen endast att vara tillgänglig för gäster;
- värdar tillåter- IP-adresser från vilka du kan komma åt den här servern;
- giltiga användare- som standard kan alla användare logga in om du skickar en lista över användare i denna parameter, då kan bara de logga in;
- skapa mask- Rättighetsmask för skapade filer.
För att tillämpa ändringarna, starta om Samba-servern:
sudo systemctl starta om samba
Konfigurationen av Samba Ubuntu 16.04 för anonym åtkomst är klar. Nu kan du kontrollera tillgängligheten för den delade mappen allaccess 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 din konfiguration igen. Mappen kan nås utan samba-auktorisering. Konfigureringen av Samba-delningar med åtkomst utan auktorisering är klar.
Du kan också ansluta till den här servern från Linux med Nautilus, skriv bara in adressen smb://ip-server, i avsnittet andra platser:
Säker mappdelning Ubuntu
För att dela en mapp för Windows Ubuntu, som endast användare från en viss grupp kommer att ha tillgång till, skapar vi en separat mapp och beskriver den i Samba-konfigurationsfilen i Ubuntu.
Först skapar vi en mapp:
sudo mkdir -p /samba/allaccess/secured
Skapa en grupp:
sudo addgroup securedgroup
Konfigurera rättigheter:
cd /samba/allaccess
$ sudo chown -R richard:securedgroup säkrad
$ sudo chmod -R 0770 säker/
Det sista steget är att lägga till inställningar i samba-konfigurationsfilen:
sudo vi /etc/samba/smb.conf
sökväg = /samba/allaccess/secured
giltiga användare = @securegroup
gäst ok = nej
skrivbar = ja
bläddringsbar = ja
Starta om Samba-servern. Nu kan bara användare av den säkra gruppen komma åt den delade mappen i Ubuntu.
För att kontrollera hur detta fungerar, låt oss lägga till användaren Richard till vår grupp:
sudo usermod -a -G securedgroup richard
Eller kanske är det bara intresse och nyfikenhet som driver användare att söka efter olika lämpliga program. Samba är en sådan programvara. Du behöver veta hur du ställer in Samba på Ubuntu Server om du vill förvandla din dator till en databas eller fillagring.
Genom att installera Samba på Ubuntu Server kan du skapa en databas.
Om du trodde att sidan var tillägnad att lära dig dans, så hade du lite fel. Samba är fri programvara. Det ger tillgång till skrivare och filer. Och det gör det på olika operativsystem.
Vad är det för?
I jämförelse med andra programvarupaket för liknande ändamål har Samba flera fördelar och funktioner.
- Låter dig ansluta ett Unix-liknande system, det vill säga vilket Linux- och Windows-system som helst, till varandra. Och inte bara Windows. Programmet är mycket "allätande": MacOS, Solaris och andra operativsystem av olika grad av popularitet.
- Samba tillåter Windows-användare att använda Ubuntu-datorer som server. Det vill säga, använd de filer som åtkomst har etablerats till, samt några av de anslutna enheterna.
- Stöder NT Domain-domänstrukturen, hanterar NT-användare, stöder medlems- och primärkontrollfunktioner.
För många är förmodligen det viktigaste från detta kommunikation med Windows-maskiner. I det här fallet fungerar de som en klient och Ubuntu-datorn fungerar som en server. Å andra sidan kan en Ubuntu-användare också komma åt Windows-nätverksmappar.
Samba har producerats sedan 1992. Och, viktigast av allt, nya versioner släpps fortfarande. Den senare släpptes den 7 mars 2017. Varje år försöker utvecklare etablera kompatibilitet med ett stort antal olika versioner av operativsystem, men huvudfunktionen förblir anslutningen av Linux-system med Microsoft. Jämfört med Windows Server kan Samba vara sämre än den på grund av bristen på stöd för vissa protokoll och värdinfrastruktur. Men många hävdar att hastigheten på Samba är mycket högre.
Ställer in Samba
Innan du installerar måste programmet installeras. Installation av Samba görs på samma sätt som med andra program - genom att ange kommandot i terminalen:
sudo apt-get installera samba
Observera genast: alla steg som kommer att beskrivas, inklusive installation av programmet, kan utföras både på enkel Ubuntu och på Ubuntu Server. Endast den senare har ett exklusivt textgränssnitt tillgängligt.
Efter installationen bör du göra en säkerhetskopia av konfigurationsfilen:
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo vi /etc/samba/smb.conf
Eller så redigerar vi en befintlig. Den här filen innehåller de grundläggande inställningarna för Samba-servern. För att ta reda på vad vi ska göra härnäst måste vi förstå vad de olika raderna betyder.
- Arbetsgrupp - arbetsgrupp. Värdet på denna parameter kommer också ofta att vara Workgroup, eftersom standardarbetsgruppsdomänen i Windows ser ut så här.
- Netbios namn är namnet på Ubuntu-datorn som ses av Windows-användare. Här kan du ange värdet efter eget gottfinnande.
- Säkerhet - användarbehörighetsläge. Standard är Användare, det vill säga autentisering på användarnivå. För nu är det bäst att lämna det så.
- Os-nivå - indikerar den prioritet som Samba har framför andra klienter (datorer) på det lokala nätverket eller internetnätverket.
- Namnlösningsordning - ordning för IP-adressupplösning efter NetBIOS-namn.
- Skrivskyddad - behörighet att läsa eller skriva en katalog. Värdet kan vara "ja" - skrivskyddad, "nej" - skriv.
Skapa en användare
Detta är den enklaste åtgärden som du kan börja arbeta med Samba med.
Lägg till en användare i själva operativsystemet:
$ useradd -M -l -s /sbin/nologin användarnamn
Låt oss skapa ett lösenord för det:
Låt oss lägga till vår användare i Samba-databasen:
$ smbpasswd -ett användarnamn
Du kan utföra olika andra åtgärder med kommandot $ smbpasswd:
- $ smbpasswd användarnamn - ändra lösenord
- $ smbpasswd -x användarnamn - ta bort en användare
- $ smbpasswd -d användarnamn - ban användare
Servern måste startas om om du gör ändringar i konfigurationsfilen. Detta görs med kommandot:
$ systemctl starta om smb
Det här är de grundläggande Samba-inställningarna. Nu kan du försöka omsätta programmet i praktiken.
Mappåtkomst
Låt oss först försöka skapa en mapp som kommer att vara tillgänglig för alla användare, även de som inte är auktoriserade i Samba.
Vi skapar en mapp som vi sedan kommer att arbeta med på två datorer:
$ sudo mkdir -p /samba/access
Nu ger vi den här mappen utökad åtkomst så att alla klienter i vårt lokala nätverk kan öppna den:
$cd/samba
$ sudo chmod -R 0755 åtkomst
$ sudo chown -R nobody:nogroup access/
Ägaren enligt koden är ingen.
Nu i serverkonfigurationsfilen måste du göra två sektioner: den första som innehåller grundläggande information:
arbetsgrupp = ARBETSGRUPP
serversträng = Samba Server %v
netbios namn = srvr1
säkerhet = användare
map till gäst = dålig användare
namnupplösa order = bcast-värd
dns proxy = nej
#==============
Och den andra, som innehåller data om åtkomstmappen:
sökväg = /samba/access
bläddringsbar = ja
skrivbar = ja
gäst ok = ja
endast läs = nej
Avsnitten följer efter varandra i samma ordning.
Uppdatera serverändringar:
$ sudo service smbd omstart
Åtgärder med en Windows-dator
På Windows måste du också utföra några steg så att du enkelt kan öppna en ny delad mapp och redigera den.
- Öppna kommandoraden. Det är lämpligt att göra detta med utökade rättigheter, det vill säga som administratör.
- Vi kör kommandot:
- anteckningsblock C:\Windows\System32\drivers\etc\hosts
- En fil öppnas där vi anger följande rad:
- 168.0.1 srvr1.domain.com srvr1
Tack vare det kommer mappen att bli tillgänglig. - Du kan öppna den med raden "Kör". Tryck Win + R, enter: Efter detta öppnas en mapp för oss.
Stängd mapp
En konfigurerad Samba-server kan också användas för att skapa nätverksmappar med begränsad åtkomst. En sådan mapp måste också skapas först och sedan läggas till i Samba-konfigurationen.
Låt oss skapa en mapp som heter "Stängd":
$ sudo mkdir -p /samba/allaccess/stängd
Låt oss skapa en speciell grupp som kan ha åtkomst till denna mapp:
$ sudo addgroup securedgroup
Vi skapar särskilda rättigheter för olika grupper:
$ cd /samba/access
$ sudo chown -R richard:securedgroup stängd
$ sudo chmod -R 0770 stängd/
Precis som i fallet med en öppen mapp lägger vi till information till konfigurationen:
sökväg = /samba/access/stängd
giltiga användare = @securegroup
gäst ok = nej
skrivbar = ja
bläddringsbar = ja
Vi startar om servern.
Som du förstår skapade vi en stängd mapp i Access. Således kan Access öppnas av alla användare på det lokala nätverket, men för att kunna se och redigera Stängd behöver du ha särskilda rättigheter.
För att vara säker på att allt fungerar exakt som vi specificerat i batchfilen kan du följa några enkla steg.
Vi skapar en användare och lägger till honom i vår slutna grupp:
$ sudo usermod -a -G securedgroup winston
Vår användares namn är som ett paket cigaretter (eller Storbritanniens premiärminister).
Låt oss skapa ett lösenord för Winston:
$ sudo smbpasswd -a winston
Efter detta kommer vi att uppmanas att ange ett nytt lösenord för att logga in igen under det nyskapade kontot. Glöm inte att starta om efter detta. Nu vet du hur du ställer in en server via Samba i Ubuntu.
Naturligtvis är Sambas möjligheter inte begränsade till att bara skapa enkla mappar. Men dessa enkla instruktioner och exempel visar vad du kan göra med det här programmet. Detta kommer att vara det första steget mot att förstå essensen av serverdatorer och deras hantering.
Den här artikeln kommer att diskutera att skapa ett trådlöst lokalt nätverk för enheter som kör olika operativsystem Windows, Linux, Android med Samba.
Nuförtiden har nästan varje lägenhet ett Wi-Fi-nätverk, och det finns också ett stort antal olika enheter (bärbara datorer, smartphones, surfplattor, Android TV Box). I detta avseende kommer det förr eller senare att finnas ett behov av att kombinera alla enheter som är tillgängliga för användning i ett hemnätverk för att enkelt komma åt alla typer av filer från vilken gadget som helst.
Detta är faktiskt vad som kommer att diskuteras i detta opus. Så låt oss börja.
För nätverksbyggande kommer vi att använda en färdig lösning som heter Samba. Detta är ett paket med gratis open source-program som låter dig ansluta till nätverksenheter, skrivare och annan utrustning på olika operativsystem med hjälp av sitt eget SMB/CIFS-protokoll.
Mjukvaran består av två delar - server och klient. Vi kommer att installera Samba-servern på en av enheterna, som per definition kommer att vara den huvudsakliga, och Samba-klienten på alla de andra.
Installera Samba-servern
I mitt fall, för serverenheten, valde jag en bärbar dator där Windows 7 och Ubuntu Mate 16.04 installerades parallellt. Nedan kommer vi att i detalj överväga processen för att installera och konfigurera Samba för båda operativsystemen.
Konfigurera sambaserver under Linux
Som standard är Samba inte installerat i Ubuntu, så du måste göra det innan du går vidare. Som ett alternativ, för att inte senare redigera Samba-konfigurationsfilen via terminalen, kommer vi att installera Gadmin-Samba-programmet, som inkluderar, förutom Samba-serverpaket, ett grafiskt gränssnitt.
För att installera, skriv in terminalen:
Sudo apt installera gadmin-samba
När installationen är klar, starta Gadmin Samba. Applikationsgränssnittet är inte russifierat, men det är ganska enkelt att förstå inställningarna.
Det finns många inställningar i programmet, men i stort sett är vi i vårt fall intresserade av fliken "användare". Gå till den och lägg till en ny användare.
Klicka på knappen "Ny användare", i det uppdaterade fönstret, ange användarnamnet, kom med ett lösenord, lägg till det i gruppen (för att inte "uppfinna hjulet", ange det befintliga, nämligen "sambausers") och ställ in hemkatalogen för filerna. Efter det klickar du på "Apply".
HD Videobox - ny användare
För att tillämpa ändringarna, starta om servern med hjälp av knapparna "avaktivera" respektive "aktivera", som finns i det övre vänstra hörnet av programfönstret.
Glöm inte heller att ställa in åtkomsträttigheter till "delade" mappar för delad åtkomst. Detta kan göras antingen via terminalen eller genom det grafiska gränssnittet i Nautilus filutforskare.
Nautilus - ändra behörigheter
Nautilus - filskrivbehörighet
Konfigurera sambaserver under Windows
När det gäller Windows är allt mycket mer prosaiskt, eftersom Samba används som standard i det här operativsystemet.
I princip kan du använda ett befintligt konto eller aktivera gäståtkomst. Alternativt kan du skapa ett annat konto, vars data kommer att användas för nätverksåtkomst
För att skapa ett nytt konto måste du gå till "kontrollpanelen", välja "hantera användarkonton" och skapa ett nytt konto med ett lösenord.
Lägger till ett nytt konto
När du skapar en ny användare måste du välja en kontotyp, skapa ett namn och lösenord.
I det sista skedet måste du ställa in rättigheter för att se ändringar av "delade" mappar. Detta kan göras i standardutforskaren i Windows via snabbmenyalternativet "egenskaper" i förhållande till den mapp du behöver.
"Dela" en mapp
Lägga till en användare och ändra mappbehörigheter
När du har skapat en ny användare, se till att logga in på den aktuella sessionen igen för att ändringarna ska träda i kraft.
Installera Samba-klienten på Android
För att komma åt Samba-servern och följaktligen nätverksenheter på enheter som kör Android rekommenderar jag att du använder Root Explorer-applikationen (länk för att ladda ner den fullständiga versionen utan reklam i slutet av artikeln).
Ibland behöver du mycket snabbt ställa in en fildelning på servern och öppna åtkomst till den. I det här fallet finns det inget behov av att inhägna några komplexa konfigurationer, åtkomsträttigheter eller något annat. Du behöver bara snabb tillgång till information utan onödiga frågor.
Till exempel behövde jag nyligen något liknande för att öppna åtkomst till säkerhetskopior som lagrades på servern. Jag ville inte ta reda på det och leta efter information själv. Jag behövde snabbt ge personen läsåtkomst så att han kunde hitta allt han behövde.
Jag kommer inte specifikt att ta itu med operativsystemversioner. Samba har samma konfigurationer nästan överallt där jag har varit tvungen att arbeta med dem, speciellt i de enklaste konfigurationerna.
Så installera Samba på något lämpligt sätt för ditt operativsystem. Konfigurationerna är giltiga för version 3 av samba. Därefter bestämmer vi vad vi behöver:
- åtkomst med användare och lösenord,
- åtkomst via IP-adress,
- tillgång till alla utan begränsningar.
Beroende på detta kommer inställningarna att vara något annorlunda.
För lösenordsåtkomst rita följande konfiguration:
Säkerhet = användarpassdb backend = tdbsam arbetsgrupp = MYGROUP serversträng = Samba-sökväg = /mnt/shara giltiga användare = @användare tvingar grupp = användare skapar mask = 0660 katalogmask = 0771 skrivbar = ja läsbar = ja
# useradd share-user -M -G användare -s /sbin/nologin
Vi importerar denna användare till Samba och ställer in lösenordet:
# smbpasswd -en share-användare
Och vi försöker gå till balen på adressen:
\\server ip\share
Att organisera åtkomst beroende på IP-adress, gör följande inställningar i smb.conf:
Säkerhet = dela arbetsgrupp = MYGROUP serversträng = Samba map till gäst = dålig användarsökväg = /mnt/filer kan bläddra = ja skrivbar = ja gäst ok = ja skrivskyddad = inga värdar tillåter = 192.168.0.171
I det här fallet kommer adressen 192.168.0.171 att ha full åtkomst. För att lägga till hela undernätet måste du ange följande:
Värdar tillåter = 192.168.0.
Du kan kombinera olika undernät och adresser, separera dem med mellanslag. För att inaktivera åtkomst till vissa individuella adresser från ett tillåtet undernät kan du göra så här:
Värdar tillåter = 192.168.0. utom 192.168.0.15
Åtkomst kommer att tillåtas till hela undernätet 192.168.0.0/24, förutom adressen 192.168.0.15.
Vi startar om samba och kollar.
Om du har samba 4 installerat kommer den här konfigurationen inte att fungera och du kommer att få felmeddelandet:
VARNING: Ignorerar ogiltigt värde "share" for parameter "security" !}
För att IP-åtkomst ska fungera korrekt måste du göra följande ändringar i ovanstående konfiguration:
Säkerhet = användarkarta till gäst = Dåligt lösenord
Låt resten av parametrarna vara desamma. Efter detta kommer åtkomst via IP att fungera på version 4 av Samba.
Om tillgång kommer att ges till alla utan begränsningar, då blir den enklaste samba-konfigurationen så här:
Säkerhet = användararbetsgrupp = MYGROUP serversträng = Samba gästkonto = ingen mappar till gäst = Dålig användarsökväg = /mnt/filer kan bläddra = Ja gäst ok = Ja skrivbar = Ja offentlig = ja
Glöm inte att ställa in behörigheter för alla i mappen:
# chmod 0777 /mnt/filer
Vi startar om Samba och försöker logga in. De borde släppa in dig utan några frågor.
Så här kan du organisera en enkel filserver med samba på bara 5 minuter. Och ofta är det svårare och det är inte nödvändigt. För någon form av fildump är det senaste alternativet lämpligt.
För mer komplexa konfigurationer har jag separata artiklar:
Onlinekurs i Linux
Om du har en önskan om att lära dig bygga och underhålla högst tillgängliga och pålitliga system rekommenderar jag att du bekantar dig med onlinekurs "Linux Administrator" i OTUS. Kursen är inte för nybörjare för att registrera dig behöver du grundläggande kunskaper om nätverk och installation av Linux på en virtuell maskin. Utbildningen varar i 5 månader, varefter framgångsrika kursutexaminerade kommer att kunna genomgå intervjuer med partners. Vad den här kursen ger dig:- Kunskaper om Linux-arkitektur.
- Behärska moderna metoder och verktyg för dataanalys och bearbetning.
- Möjlighet att välja en konfiguration för de nödvändiga uppgifterna, hantera processer och säkerställa systemsäkerhet.
- Kunskaper i de grundläggande arbetsverktygen för en systemadministratör.
- Förståelse av detaljerna för att distribuera, konfigurera och underhålla nätverk byggda på Linux.
- Förmågan att snabbt lösa uppkommande problem och säkerställa stabil och oavbruten drift av systemet.