Samba - första stegen. Skapa ett hemnätverk med Samba för enheter som kör Windows, Linux, Android OS Samba Service

Den huvudsakliga Samba-konfigurationsfilen är /etc/samba/smb.conf. Den initiala konfigurationsfilen har ett betydande antal kommentarer för att dokumentera de olika konfigurationsdirektiven.

Alla möjliga alternativ ingår inte i standardinställningsfilen. Se manual man smb.conf eller Samba FAQ för mer information.

1. Ändra först följande nyckel/värdepar i avsnittet filen /etc/samba/smb.conf:

Arbetsgrupp = EXEMPEL ... säkerhet = användare

Parameter säkerhet ligger mycket lägre i sektionen och kommenteras som standard. Byt även ut EXEMPEL till något mer lämpligt för din omgivning.

2. Skapa ett nytt avsnitt i slutet av filen eller avkommentera ett av exemplen för katalogen som du vill dela:

Kommentar = Ubuntu File Server Share sökväg = /srv/samba/share bläddringsbar = ja gäst ok = ja skrivskyddad = nej skapa mask = 0755

    kommentar: En kort beskrivning av den delade resursen. Används för din bekvämlighet.

    väg: sökväg till den delade katalogen.

    Det här exemplet använder /srv/samba/sharename eftersom, enligt File System Hierarchy Standard (FHS), är /srv-katalogen där all data relaterad till en given webbplats ska finnas. Tekniskt sett kan en Samba-resurs placeras var som helst i filsystemet där begränsningar för filåtkomst tillåter, men att följa standarder rekommenderas.

    bläddringsbar: Tillåter Windows-klienter att se innehållet i en delad katalog med hjälp av Windows utforskaren.

    gäst okej: Tillåter klienter att ansluta till den delade resursen utan att ange ett lösenord.

    endast läs: Bestämmer om resursen är tillgänglig med skrivskyddad eller skrivbehörighet. Skrivbehörigheter är endast tillgängliga när du anger Nej, som visas i detta exempel. Om värdet ja, då kommer åtkomsten till resursen att vara skrivskyddad.

    skapa mask: Definierar vilka åtkomsträttigheter som kommer att ställas in för nya filer som skapas.

3. Nu när Samba är konfigurerat måste du skapa en katalog och ställa in behörigheter för den. Ange i terminalen:

Sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/

parameter -s säger till mkdir att skapa ett komplett katalogträd om det inte finns.

4. Starta slutligen om samba-tjänsterna för att tillämpa de nya inställningarna:

Sudo omstart smbd sudo omstart nmbd

Du kan nu söka på Ubuntu-filservern med Windows-klienten och bläddra i dess delade kataloger. Om din klient inte visar dina resurser automatiskt, försök att komma åt din server via dess IP-adress, till exempel \\192.168.1.1, från ett Windows Explorer-fönster. För att kontrollera att allt fungerar, försök att skapa en katalog i din resurs från Windows.

För att skapa ytterligare delningar, skapa en ny sektion 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/share– det här är bara exempel. Ställ in resursnamn och katalognamn enligt din miljö. Det är en bra idé att använda namnet på resursens katalog i filsystemet som namn på resursen. Med andra ord kan resursen specificeras för katalogen /srv/samba/qa.

Genomförande nätverksprotokoll Servermeddelandeblock (SMB) Och Common Internet File System (CIFS). Huvudsyftet är att dela filer och skrivare mellan Linux- och Windows-system.

Samba består av flera demoner som arbetar i bakgrund och tillhandahåller tjänster och ett antal kommandoradsverktyg för att interagera med Windows-tjänster:

  • smbd- en demon som är en SMB-server för filtjänster och utskriftstjänster;
  • nmbd- en demon som tillhandahåller NetBIOS-namntjänster;
  • snäll- Verktyget ger kommandoradsåtkomst till SMB-resurser. Det låter dig också få listor delade resurser på fjärrservrar och se nätverksmiljön;
  • smb.conf- en konfigurationsfil som innehåller inställningar för alla Samba-verktyg;

Lista över portar som används av Samba

  • dela med sig- detta säkerhetsläge emulerar den autentiseringsmetod som används av operativsystem Windows-system 9x/Windows Me. I det här läget ignoreras användarnamn och lösenord tilldelas resurser. I det här läget försöker Samba använda ett klientlevererat lösenord som kan användas av olika användare.
  • användare* - Det här säkerhetsläget är inställt som standard och använder ett användarnamn och lösenord för autentisering, som vanligtvis görs i Linux. I de flesta fall, på moderna operativsystem, lagras lösenord i en krypterad databas som endast används av Samba.
  • server- det här säkerhetsläget används när det är nödvändigt för Samba att utföra autentisering när man kommer åt en annan server. För klienter ser detta läge ut på samma sätt som autentisering på användarnivå (användarläge), men Samba kontaktar faktiskt servern som anges i lösenordsserverparametern för att utföra autentisering.
  • domän- med det här säkerhetsläget kan du gå med i en Windows-domän helt; För klienter ser detta ut på samma sätt som autentisering på användarnivå. Till skillnad från autentisering på servernivå använder domänautentisering säkrare lösenordsutbyte på domännivå. För att helt gå med i en domän måste du köra ytterligare kommandon på Samba-systemet och eventuellt på domänkontrollanten.
  • annonser- detta säkerhetsläge liknar domänautentiseringsmetoden, men kräver en domänkontrollant Active Directory Domäntjänster.

Fullständig lista över parametrar Samba finns i manpages.

Ovan var ett exempel med tillgång till en katalog med delad åtkomst. Låt oss överväga ett annat exempel med en privat katalog, som endast kan nås med inloggning och lösenord.

Låt oss skapa en grupp och lägga till en användare till den

Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft

Låt oss skapa en katalog för användaren och ange rättigheter

Sudo mkdir -p /srv/samba/proft sudo chown -R proft:smbgrp /srv/samba/proft sudo chmod -R 0770 /srv/samba/proft

Låt oss skapa en samba-användare

Sudo smbpasswd -a proft

Lägg till en ny resurs till /etc/samba/smb.conf

Sökväg = /srv/samba/proft giltiga användare = @smbgrp gäst ok = ej skrivbar = ja läsbar = ja

Låt oss starta om servern

Sudo systemctl starta om smbd

Ett exempel på att sätta upp en resurs som innehåller symbollänk till användarens mapp ( /srv/samba/media/video » /home/proft/video)

Sökväg = /srv/samba/media gäst ok = ja skrivskyddad = ja läsbar = ja tvinga användare = proft

Klientinställningar

Visa din dators delade resurser

Smbclient -L 192.168.24.101 -U%

En annan anslutningsmetod för en anonym användare med kommandorad

Smbclient -U ingen //192.168.24.101/public ls

Om servern är konfigurerad med en högre säkerhetsnivå kan du behöva skicka användarnamnet eller domännamnet med alternativen -W respektive -U.

Smbclient -L 192.168.24.101 -U proft -W ARBETSGRUPP

Montera en samba-resurs

# skapa en monteringspunkt mkdir -p ~/shares/public # montera en resurs # för anonym användare nobody mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=nobody,password=, workgroup= WORKGROUP,ip=192.168.24.101,utf8 # för användare proft mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,lösenord=1,arbetsgrupp=ARBETSGROUP,ip= 192.168.24.101,utf8

Det är ännu bättre att lagra lösenord i en separat fil.

# sudo vim /etc/samba/sambacreds användarnamn=proft lösenord=1 användarnamn=noboy lösenord=

Ställ in åtkomsträttigheterna till 0600

Sudo chmod 0600 /etc/samba/sambacreds

Ny monteringslinje

Montera -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Och ett exempel för /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Du kan öppna resursen i Nautilus/Nemo/etc filhanteraren med den här sökvägen smb://192.268.24.101.

Om Nemo skriver Nemo kan inte hantera "smb"-platser. det betyder att paketet saknas gvfs-smb.

Åtkomst till servern med Windows och Android-klient

Under Windows kan du ta reda på arbetsgruppen från konsolen med hjälp av

Nätkonfigurationsarbetsstation

Du kan öppna resurser på en fjärrdator genom att skriva UNC-adressen i Explorer-raden eller i Kör (Start - Kör): \192.168.24.101 .

På Android kan du ansluta till servern med hjälp av ES File Explorer, på fliken Nätverk, lägg till en server, helt enkelt via IP (utan att ange schemat, smb). Därefter kan du öppna de delade resurserna. För statistik: en HDRIP-film körs utan avmattning.

Ytterligare läsning

Nuförtiden är det ganska vanligt att hitta datorer som kör Linux och Windows på samma lokala nätverk. Anledningarna till denna symbios kan vara olika: till exempel hade ägarna till ett internetkafé inte tillräckligt med pengar för att köpa ett licensierat operativsystem för alla datorer, eller så anställdes en systemadministratör helt enkelt positiva sidor Linux. Populariteten för Microsofts operativsystem bestäms till stor del av klientprogramvaran för Windows. Det är ingen hemlighet att denna sektor programvara mycket utvecklad. Många företag har gjort seriösa ansträngningar för detta och har skapat riktigt bra, och viktigast av allt, lättanvända program som även en vanlig användare lätt kan bemästra. Men som server är Windows position inte längre så tydlig. En server som kör Unix kännetecknas traditionellt av tillförlitlighet, stabil drift, säkerhet och ofta lägre krav på systemresurser. Men i vilket fall som helst, att bara ansluta datorer med olika programvaruplattformar till nätverket kommer inte att få det förväntade resultatet. Problemet är att dessa två system använder olika principer för att organisera nätverksresurser som är inkompatibla med varandra.
Eftersom det inte finns något behov av att vänta på Microsofts nåd, och det är osannolikt att Windows lär sig att arbeta med Unix-nätverksfilsystemet (NFS) med standardmetoder, och för att vara ärlig, jag känner inte till tredjepartsprogram, populärt sätt är att försöka lära Unix att "låtsas" att om det vore Windows NT.

Interaktion i ett nätverk av datorer som kör Windows baseras på användningen av protokollet SMB (servermeddelandeblock)- block av servermeddelanden. Det säkerställer att alla nödvändiga uppgifter i dessa fall utförs: öppna och stänga, läsa och skriva, söka efter filer, skapa och ta bort kataloger, ställa in ett utskriftsjobb och ta bort det därifrån. Alla åtgärder som är nödvändiga för detta implementeras i Unix-liknande operativsystem med hjälp av paketet SAMBA. Dess möjligheter kan delas in i två kategorier: tillhandahållande av resurser (med vilket vi menar åtkomst till skrivarsystemet och filer) för Windows-klienter och åtkomst till klientresurser. Det vill säga att en dator som kör Linux kan fungera som både server och klient. Låt oss först överväga SAMBA-serveralternativet.

Vad ska SAMBA sörja för normal drift på ett nätverk av Windows-maskiner? Först, åtkomstkontroll, som kan implementeras antingen på resursnivå (andelsnivå), när ett lösenord och motsvarande användningsregler tilldelas valfri resurs i nätverket (till exempel "skrivskyddad"), medan användarnamnet har absolut nej ingen mening; eller en mer avancerad och flexibel organisation på användarnivå, då ett konto skapas för varje användare, som förutom namn och lösenord innehåller all nödvändig information om åtkomsträttigheter till resursen. Innan man får tillgång till den nödvändiga resursen, autentiseras varje användare, varefter han tilldelas rättigheter enligt sina konton. För det andra är emulering av åtkomsträttigheter som bestäms av filsystemet nödvändig. Saken är att systemen i fråga har åtkomsträttigheter till filer och kataloger på disken olika. I Unix finns det traditionellt tre kategorier av filanvändare: ägare, grupp Och resten (annat). Var och en av dessa enheter kan tillhandahållas läsbehörigheter, skriva Och avrättning. I Windows NT är åtkomstsystemet något mer flexibelt, åtkomst ges till flera grupper eller användare och motsvarande behörigheter bestäms separat för varje ämne. Därför är det omöjligt att helt emulera åtkomsträttigheterna i NTFS med SAMBA.

Med kunder igång Windows 9x, situationen är annorlunda. Sedan tiden för farfar till DOS, på grund av det faktum att systemet är enanvändare och det inte kunde vara tal om några användare, än mindre grupper, har bara fyra attribut definierats för FAT-filsystemet - skrivskyddad, system, arkiv och dold. Plus, i Windows, till skillnad från Unix, har filtillägget en speciell betydelse - de som är avsedda att köras har tilläggen .exe, .com eller .bat. När du kopierar filer från Unix-maskiner till datorer som körs Windows kontroll attribut ställs in så här:

bara för att läsa- läsa, skriva för ägaren;

arkiv- utförande för ägaren;

systemisk- utförande för gruppen;

gömd - utförande för gruppen.

Ett nätverk av Windows-maskiner kan organiseras som en arbetsgrupp, när datorerna är oberoende av varandra och var och en har sin egen databas med lösenord och inloggningar med sin egen säkerhetspolicy, och även som en NT-domän. Hela grunden för användar- och datorautentisering hanteras primär domänkontrollant (PDC, Primary Domain Controller), dvs. centraliserad. Samba låter dig begränsa åtkomsten på alla dessa nivåer och fungerar som en "huvudwebbläsare" i en arbetsgrupps- eller domänkontrollant.

Vi har reda ut de allmänna organisatoriska frågorna. Låt oss nu titta specifikt på implementeringen och konfigurationen av en SAMBA-server i Linux. För att Samba-servern ska fungera måste två demoner köras: smbd, som tillhandahåller en utskrifts- och fildelningstjänst för Samba-klienter (som Windows of all stripes), och nmbd, som driver NetBIOS-namntjänsten (den kan också användas för att fråga andra namntjänstdemoner). Protokollet används för att komma åt klienter TCP/IP. Vanligtvis installeras Samba med en Linux-distribution. Hur kollar man? Ge bara kommandot:

och du borde få något sånt här:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Om den inte ingår i standarddistributionen, välkommen till ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz eller nästan vilken server som helst med program för Linux. Paketet är enkelt att installera, så för att inte ta plats så utgår vi från att du har det installerat. Låt oss nu kontrollera om demonen körs:

$ ps -aux | grep smbd root 1122 0,0 0,6 4440 380 ? S 16:36 0:00 smbd -D

Som ni ser har jag den redan igång. Om du inte har det, och du vill att det ska starta när systemet startar, då i Linux Mandrake, till exempel, markera önskad ruta i DrakConf- starta tjänster eller in Red Hat kontrollpanel- Servicekonfiguration, vanligtvis räcker detta. Eller starta manuellt: ./etc/rc.d/init.d/smb start. Den enda Samba-konfigurationsfilen heter smb.conf och finns vanligtvis i katalogen /etc (även om den i t.ex. AltLinux finns i katalogen /etc/samba). SAMBA-tjänsten läser den var 60:e sekund, så ändringar som görs i konfigurationen träder i kraft utan omstart, men gäller inte för redan etablerade anslutningar.

Det är därför jag älskar Linux, eftersom konfigurationsfilerna är ren text (och väl kommenterade inuti), och för att kunna använda de flesta parametrarna behöver du bara avkommentera motsvarande rad. Filen smb.conf är inget undantag. Den består av namngivna sektioner som börjar med sektionsnamnet inneslutet i hakparentes. Inuti varje avsnitt finns ett antal parametrar i formen nyckel=värde. Konfigurationsfilen innehåller fyra särskilda avsnitt: , och individuella resurser (andelar). Som namnet antyder innehåller avsnittet de mest generella egenskaperna som kommer att gälla överallt, men som dock sedan kan åsidosättas i avsnitt för enskilda resurser. Vissa parametrar i det här avsnittet är också relevanta för att konfigurera Samba-klientdelen.

Värden för typiska sektionsparametrar global:

Workgroup = group_name # namn på arbetsgruppen i Windows-nätverket netbios namn = namn på servern på nätverksserversträngen = kommentar som är synlig i fönstret för nätverkssökningsegenskaper gäst ok = ja # tillåter gästinloggning (gäst ok = nej - gäst inloggning är förbjuden) gästkonto = ingen # namn under vilket gästinloggning tillåts säkerhet = användare # Åtkomstnivå. användare - på användarnivå, säkerhet = dela - autentisering baserad på användarnamn och lösenord. Vid lagring av lösenordsdatabasen på en annan SMB-server används värdena säkerhet = server och lösenordsserver = namn_server_NT. Om servern är medlem i en domän används värdet säkerhet = domän, åtkomstlösenordet anges i filen som definieras med alternativet smb passwd file = /path/to/file.

Dessutom kan du under registreringen använda krypterade och okrypterade (vanlig text) lösenord. De senare används i äldre Windows (Windows for Workgroups, Windows 95 (OSR2), alla versioner av Windows NT 3.x, Windows NT 4 (upp till Service Pack 3)). För att aktivera alternativet att använda ett krypterat lösenord, använd alternativet kryptera lösenord = ja. Var särskilt uppmärksam på detta alternativ. På äldre Linux-distributioner som byggdes under Windows 95-eran (och med en äldre version av Samba) är lösenordskryptering inaktiverad som standard, och samba före version 2.0 stöder inte det här läget alls (förresten, det här alternativet och liknande - de som inte hänför sig till åtkomst till specifika resurser - används också i klienten).

För att korrekt visa ryska filnamn behövs följande alternativ: klientkodtabell = 866 och teckenuppsättning = koi8-r. I distributioner med bra lokalisering, till exempel derivat från Mandrake och ryska, finns den här raden redan där; ibland räcker det bara att avkommentera den, men i de flesta andra måste du lägga till den själv.

Alternativet gränssnitt = 192.168.0.1/24 anger vilket nätverk (gränssnitt) programmet ska köras på om servern är ansluten till flera nätverk samtidigt. När du ställer in parametern bind interfaces only = yes, kommer servern endast att svara på förfrågningar från dessa nätverk.

värdar tillåter = 192.168.1. 192.168.2. 127. - definierar klienter för vilka åtkomst till tjänsten är tillåten.

I den globala sektionen kan du använda olika variabler för mer flexibel konfiguration av servern. Efter att anslutningen har upprättats ersätts verkliga värden istället. Till exempel, i loggfilen = /var/log/samba/%m.log-direktivet, hjälper parametern %m att definiera en separat loggfil för varje klientdator. Här är de vanligaste variablerna som används i det globala avsnittet:

%a - OS-arkitektur på klientdatorn (möjliga värden - Win95, Win NT, OKÄND, etc.);

%m - NetBIOS-namnet på klientdatorn;

%L - NetBIOS-namnet på SAMBA-servern;

%v - SAMBA-version;

%I - IP-adress för klientdatorn;

%T - datum och tid;

%u - namnet på användaren som arbetar med tjänsten;

%H är hemkatalogen för användaren %u.

För mer flexibel konfiguration används inkluderingsdirektivet med ovanstående variabler. Till exempel: include = /etc/samba/smb.conf.%m - nu när du begär försäljning från en dator och det finns en fil /etc/samba/smb.conf.sales, kommer konfigurationen att tas från den här filen. Om det inte finns någon separat fil för en viss maskin, används en gemensam fil för att arbeta med den.

# sudo vim /etc/samba/sambacreds användarnamn=proft lösenord=1 användarnamn=noboy lösenord=

Ställ in åtkomsträttigheterna till 0600

Sudo chmod 0600 /etc/samba/sambacreds

Ny monteringslinje

Montera -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

Och ett exempel för /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

Du kan öppna resursen i Nautilus/Nemo/etc filhanteraren med den här sökvägen smb://192.268.24.101.

Om Nemo skriver Nemo kan inte hantera "smb"-platser. det betyder att paketet saknas gvfs-smb.

Åtkomst till servern med Windows och Android-klient

Under Windows kan du ta reda på arbetsgruppen från konsolen med hjälp av

Nätkonfigurationsarbetsstation

Du kan öppna resurser på en fjärrdator genom att skriva UNC-adressen i Explorer-raden eller i Kör (Start - Kör): \192.168.24.101 .

På Android kan du ansluta till servern med hjälp av ES File Explorer, på fliken Nätverk, lägg till en server, helt enkelt via IP (utan att ange schemat, smb). Därefter kan du öppna de delade resurserna. För statistik: en HDRIP-film körs utan avmattning.

Ytterligare läsning

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 mjukvarupaket 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ära kontrollerfunktioner.

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 omedelbart: 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 är också ofta 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.
  • Namnupplö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 gör vi utökad åtkomst för den här mappen så att alla våra kunder kan öppna den lokalt nätverk:

$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
namn lö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.

  1. Öppna kommandoraden. Det är lämpligt att göra detta med utökade rättigheter, det vill säga som administratör.
  2. Vi kör kommandot:
  3. anteckningsblock C:\Windows\System32\drivers\etc\hosts
  4. En fil öppnas där vi anger följande rad:
  5. 168.0.1 srvr1.domain.com srvr1
    Tack vare det blir mappen tillgänglig.
  6. 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 försäkra dig om att allt fungerar exakt som vi specificerat i batchfilen kan du utföra några enkla steg.

Nuförtiden är det ganska vanligt att hitta datorer som kör Linux och Windows på samma lokala nätverk. Orsakerna till denna symbios kan vara olika: till exempel hade ägarna till ett internetkafé inte tillräckligt med pengar för att köpa ett licensierat operativsystem för alla datorer, eller systemadministratör Jag attraherades helt enkelt av de positiva aspekterna av Linux. Populariteten för Microsofts operativsystem bestäms till stor del av klientprogramvaran för Windows. Det är ingen hemlighet att denna mjukvarusektor är mycket utvecklad. Många företag har gjort seriösa ansträngningar för detta och har skapat riktigt bra, och viktigast av allt, lättanvända program som även en vanlig användare lätt kan bemästra. Men som server är Windows position inte längre så tydlig. En server som kör Unix kännetecknas traditionellt av tillförlitlighet, stabil drift, säkerhet och ofta lägre krav på systemresurser. Men i vilket fall som helst, att bara ansluta datorer med olika programvaruplattformar till nätverket kommer inte att få det förväntade resultatet. Problemet är att dessa två system använder olika principer för att organisera nätverksresurser som är inkompatibla med varandra.
Eftersom det inte finns något behov av att vänta på Microsofts nåd, och det är osannolikt att Windows lär sig att arbeta med Unix-nätverksfilsystemet (NFS) standardmedel, och för att vara ärlig, jag känner inte till några tredjepartsprogram, det mest populära sättet är att försöka lära Unix att "låtsas" att det är Windows NT.

Interaktion i ett nätverk av datorer som kör Windows baseras på användningen av protokollet SMB (servermeddelandeblock)— block av servermeddelanden. Det säkerställer att alla nödvändiga uppgifter i dessa fall utförs: öppna och stänga, läsa och skriva, söka efter filer, skapa och ta bort kataloger, ställa in ett utskriftsjobb och ta bort det därifrån. Alla åtgärder som är nödvändiga för detta implementeras i Unix-liknande operativsystem med hjälp av paketet SAMBA. Dess möjligheter kan delas in i två kategorier: tillhandahållande av resurser (med vilket vi menar åtkomst till skrivarsystemet och filer) för Windows-klienter och åtkomst till klientresurser. Det vill säga att en dator som kör Linux kan fungera som både server och klient. Låt oss först överväga SAMBA-serveralternativet.

Vad ska SAMBA tillhandahålla för normal drift av Windows-maskiner i ett nätverk? Först, åtkomstkontroll, som kan implementeras antingen på resursnivå (andelsnivå), när ett lösenord och motsvarande användningsregler tilldelas valfri resurs i nätverket (till exempel "skrivskyddad"), medan användarnamnet har absolut nej ingen mening; eller en mer avancerad och flexibel organisation på användarnivå, då ett konto skapas för varje användare, som förutom namn och lösenord innehåller all nödvändig information om åtkomsträttigheter till resursen. Innan man får tillgång till den nödvändiga resursen, autentiseras varje användare, varefter han tilldelas rättigheter enligt sina konton. För det andra är emulering av åtkomsträttigheter som bestäms av filsystemet nödvändig. Saken är att systemen i fråga har åtkomsträttigheter till filer och kataloger på disken olika. I Unix finns det traditionellt tre kategorier av filanvändare: ägare, grupp Och resten (annat). Var och en av dessa enheter kan tillhandahållas läsbehörigheter, skriva Och avrättning. I Windows NT är åtkomstsystemet något mer flexibelt, åtkomst ges till flera grupper eller användare och motsvarande behörigheter bestäms separat för varje ämne. Därför är det omöjligt att helt emulera åtkomsträttigheterna i NTFS med SAMBA.

Med kunder igång Windows 9x, situationen är annorlunda. Sedan tiden för farfar till DOS, på grund av det faktum att systemet är enanvändare och det kunde inte vara tal om några användare, än mindre grupper, för filen FAT-system Endast fyra attribut är definierade − skrivskyddad, system, arkiv och dold. Plus, i Windows, till skillnad från Unix, har filtillägget en speciell betydelse - de som är avsedda att köras har tilläggen .exe, .com eller .bat. När du kopierar filer från Unix-maskiner till Windows-datorer ställs attributen in så här:

bara för att läsa— läsa, skriva för ägaren;

arkiv— utförande för ägaren;

systemisk— utförande för gruppen.

gömd - utförande för gruppen.

Ett nätverk av Windows-maskiner kan organiseras som en arbetsgrupp, när datorerna är oberoende av varandra och var och en har sin egen databas med lösenord och inloggningar med sin egen säkerhetspolicy, och även som en NT-domän. Hela grunden för användar- och datorautentisering hanteras primär domänkontrollant (PDC, Primary Domain Controller), dvs. centraliserad. Samba låter dig begränsa åtkomsten på alla dessa nivåer och fungerar som en "huvudwebbläsare" i en arbetsgrupps- eller domänkontrollant.

Vi har reda ut de allmänna organisatoriska frågorna. Låt oss nu titta specifikt på implementeringen och konfigurationen av en SAMBA-server i Linux. För att Samba-servern ska fungera måste två demoner köras: smbd, som tillhandahåller en utskrifts- och fildelningstjänst för Samba-klienter (som Windows of all stripes), och nmbd, som driver NetBIOS-namntjänsten (den kan också användas för att fråga andra namntjänstdemoner). Protokollet används för att komma åt klienter TCP/IP. Vanligtvis installeras Samba med en Linux-distribution. Hur kollar man? Ge bara kommandot:

$var är samba

och du borde få något sånt här:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Om den inte ingår i standarddistributionen, välkommen till ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz eller nästan vilken server som helst med program för Linux. Paketet är enkelt att installera, så för att inte ta plats så utgår vi från att du har det installerat. Låt oss nu kontrollera om demonen körs:

$ ps -aux | grep smbd root 1122 0,0 0,6 4440 380 ? S 16:36 0:00 smbd -D

Som ni ser har jag den redan igång. Om du inte har det, och du vill att det ska starta när systemet startar, då i Linux Mandrake, till exempel, markera önskad ruta i DrakConfstarta tjänster eller in Red Hat kontrollpanelServicekonfiguration, vanligtvis räcker detta. Eller starta manuellt: ./etc/rc.d/init.d/smb start. Den enda Samba-konfigurationsfilen heter smb.conf och finns vanligtvis i katalogen /etc (även om den i t.ex. AltLinux finns i katalogen /etc/samba). SAMBA-tjänsten läser den var 60:e sekund, så ändringar som görs i konfigurationen träder i kraft utan omstart, men gäller inte för redan etablerade anslutningar.

Det är därför jag älskar Linux, eftersom konfigurationsfilerna är ren text (och väl kommenterade inuti), och för att kunna använda de flesta parametrarna behöver du bara avkommentera motsvarande rad. Filen smb.conf är inget undantag. Den består av namngivna sektioner som börjar med sektionsnamnet inom hakparenteser. Inuti varje avsnitt finns ett antal parametrar i formen nyckel=värde. Konfigurationsfilen innehåller fyra specialsektioner: , , och individuella resurser (resurser). Som namnet antyder innehåller avsnittet de mest generella egenskaperna som kommer att gälla överallt, men som dock sedan kan åsidosättas i avsnitt för enskilda resurser. Vissa parametrar i det här avsnittet är också relevanta för att konfigurera Samba-klientdelen.

Värden för typiska sektionsparametrar global:

Workgroup = group_name # namn på arbetsgruppen i Windows-nätverket netbios namn = namn på servern på nätverksserversträngen = kommentar som är synlig i fönstret för nätverkssökningsegenskaper gäst ok = ja # tillåter gästinloggning (gäst ok = nej - gäst inloggning är förbjuden) gästkonto = ingen # namn under vilket gästinloggning tillåts säkerhet = användare # Åtkomstnivå. användare - på användarnivå, säkerhet = dela - autentisering baserad på användarnamn och lösenord. Vid lagring av lösenordsdatabasen på en annan SMB-server används värdena säkerhet = server och lösenordsserver = namn_server_NT. Om servern är medlem i en domän används värdet säkerhet = domän, åtkomstlösenordet anges i filen som definieras med alternativet smb passwd file = /path/to/file.

Dessutom kan du under registreringen använda krypterade och okrypterade (vanlig text) lösenord. De senare används i äldre Windows (Windows for Workgroups, Windows 95 (OSR2), alla versioner av Windows NT 3.x, Windows NT 4 (upp till Service Pack 3)). För att aktivera alternativet att använda ett krypterat lösenord, använd alternativet kryptera lösenord = ja. Var särskilt uppmärksam på detta alternativ. I äldre Linux-distributioner som skapades under Windows 95-eran (och därefter), gammal version Samba) lösenordskryptering är inaktiverat som standard, och samba är upp till version 2.0 stöder inte det här läget alls (förresten, det här alternativet och liknande - de som inte hänför sig till åtkomst till specifika resurser - används också i klienten).

För att korrekt visa ryska filnamn behövs följande alternativ: klientkodtabell = 866 och teckenuppsättning = koi8-r. I distributioner med bra lokalisering, till exempel derivat från Mandrake och ryska, finns den här raden redan där; ibland räcker det bara att avkommentera den, men i de flesta andra måste du lägga till den själv.

Alternativet gränssnitt = 192.168.0.1/24 anger vilket nätverk (gränssnitt) programmet ska köras på om servern är ansluten till flera nätverk samtidigt. När du ställer in parametern bind interfaces only = yes, kommer servern endast att svara på förfrågningar från dessa nätverk.

värdar tillåter = 192.168.1. 192.168.2. 127. — definierar kunder för vilka åtkomst till tjänsten är tillåten.

I den globala sektionen kan du använda olika variabler för mer flexibel konfiguration av servern. Efter att anslutningen har upprättats ersätts verkliga värden istället. Till exempel, i loggfilen = /var/log/samba/%m.log-direktivet, hjälper parametern %m att definiera en separat loggfil för varje klientdator. Här är de vanligaste variablerna som används i det globala avsnittet:

%a - OS-arkitektur på klientdatorn (möjliga värden - Win95, Win NT, OKÄND, etc.);

%m — NetBIOS-namnet på klientdatorn;

%L — NetBIOS-namnet på SAMBA-servern;

%v — SAMBA-version;

%I — IP-adress för klientdatorn;

%T — datum och tid;

%u är namnet på användaren som arbetar med tjänsten;

%H är hemkatalogen för användaren %u.

För mer flexibel konfiguration används inkluderingsdirektivet med ovanstående variabler. Till exempel: include = /etc/samba/smb.conf.%m - nu när du begär försäljning från en dator och det finns en fil /etc/samba/smb.conf.sales, kommer konfigurationen att tas från den här filen. Om det inte finns någon separat fil för en viss maskin, används en gemensam fil för att arbeta med den.

Det finns också en intressant möjlighet skapa en virtuell server. För att göra detta, använd parametern netbios alias:

Netbios alias = försäljningsredovisning admin

Nu säger vi till Samba att använda sin egen konfigurationsfil för varje virtuell server:

Inkludera = /etc/samba/smb.conf.%L

Tre servrar kommer att vara synliga i nätverkets webbläsarfönster: försäljning, bokföring, administration.

Aktivering av alternativen bevara skiftläge och kort bevara skiftläge gör att servern sparar all indata på ett skiftlägeskänsligt sätt (på Windows är skiftlägeskänsligt inte, på alla Unix-system är det tvärtom).

Avsnittet tillåter användare att ansluta till sina arbetskataloger utan att uttryckligen beskriva dem. När en klient begär sin //sambaserver/sergej-katalog, letar maskinen efter motsvarande beskrivning i filen och, om den inte hittar den, letar den efter närvaron av detta avsnitt. Om partitionen finns, letar den igenom lösenordsfilen för att hitta arbetskatalogen för användaren som gör begäran och, om den hittas, gör den tillgänglig för användaren.

En typisk beskrivning av det här avsnittet ser ut så här:

Comment = Hemkataloger # kommentar som är synlig i fönstret för nätverksegenskaper bläddringsbar = nej # bestämmer om resursen ska visas i bläddringslistan. skrivbar = ja # tillåter (nej - nekar) skrivning till hemkatalogen skapa läge = 0750 # åtkomsträttigheter för nyskapade filer katalogläge = 0775 # också, men bara för kataloger

Efter att ha konfigurerat standardinställningarna kan du skapa nätverksresurser som kan nås av en specifik användare eller grupp av användare. En sådan resurs skapas från en redan befintlig katalog; för detta skriver vi i filen:

Kommentar = Sökväg för offentliga saker = /home/samba offentlig = ja skrivbar = ej utskrivbar = ingen skrivlista = administratör, @försäljning

Sökvägsparametern pekar på katalogen där resursen finns; den offentliga parametern anger om resursen kan användas av en gäst, och den utskrivbara parametern anger om resursen kan användas för utskrift. Write list-parametern låter dig definiera användare som får skriva till en resurs oavsett det skrivbara värdet (i detta exempel är dessa administratörsanvändare och säljgruppen). Det är också möjligt att använda den motsatta listan - läslista. Om det finns ett behov av att dölja vissa filer, måste filnamnet i Unix/Linux börja med en punkt (parametern hide dot files, som styr visningen dolda filer, har som standard ja). Dessutom är det möjligt att ange mallar för namnen på dolda filer, för vilka parametern hide files används. Varje mönster börjar och slutar med ett snedstreck (/) och kan innehålla tecken som används i vanliga uttryck. Till exempel: dölj filer = /*.log/??.tmp/. Sådana trick kostar Windows-användare bara genom att ställa in läget "Visa dolda och systemfiler" i Utforskaren. För att med säkerhet begränsa tillgängligheten (möjligheten att ta bort) en fil (katalog), använd vetofilerna och radera vetofilers parametrar.

Med CD-enheter är situationen något mer komplicerad. Hela poängen är att i Unix-liknande system det finns inget koncept för en disk som sådan, och för att få tillgång till den önskade enheten måste den initialt monteras i ett katalogträd (# mount -t iso9660 /dev/cdrom /mnt/cdrom), och efter användning, för att inte förstöra filsystem, måste avmonteras (# umount /dev/cdrom), annars kommer enheten helt enkelt inte att ge upp disken. Om du har en demon igång på din server autofs, då är problemet lätt löst. För att automatiskt avmontera en enhet som har varit oanvänd under en tid, ställ in timeout-parametern i filen /etc/auto.master till önskat värde. Till exempel:

/mnt/auto/etc/ --timeout=5

(en liknande rad finns redan där, du behöver bara avkommentera den). Ställ sedan in alternativen för lämplig enhet i filen /etc/auto.tab:

Cdrom -fstype=auto,ro:/dev/cdrom

Efter allt detta skriver vi följande rader i /etc/smb.conf för att göra denna resurs tillgänglig:

Sökväg = /mnt/cdrom skrivbar = nej

Det andra alternativet är att använda preexec- och postexec-direktiven, som indikerar vilka kommandon som måste utföras när man kommer åt en resurs och efter att man kopplat från den (dessa parametrar kan specificeras för vilken resurs som helst och till och med i den globala sektionen, vilket öppnar upp för stora möjligheter) .

Sökväg = /mnt/cdrom skrivskyddad = ja root preexec = montera /mnt/cdrom # Endast root har rätt att montera en resursrot postexec = umount /mnt/cdrom # Naturligtvis måste dessa monteringspunkter beskrivas i /etc/ fstab-fil, annars måste du också lämna annan information.

När nu en resurs används monteras CD-ROM-skivan automatiskt och ibland avmonteras den. Hela problemet är att beslutet att stänga en resurs måste tas av servern - klienter meddelar som regel inte om detta. Men vanligtvis händer detta eftersom resursen används av flera användare samtidigt eller finns kvar på en dator öppna fil på den här resursen (Enheten upptagen). Därför avmonteras inte CD-ROM-skivan automatiskt; det enda acceptabla sättet att frigöra resursen är att titta med hjälp av verktyget smbstatus nummer på processen som använder denna resurs och döda den med kommandot # kill pid_number (eller kill -s HUP pid_number).

Efter att ha upprättat den nödvändiga konfigurationen kommer vi nu att skapa användarkonton (med undantag för gästinloggningen med minimala rättigheter ingen). För att identifiera SAMBA-användare används filen /etc/samba/smbpasswd, som innehåller användarnamn och krypterade lösenord. Eftersom krypteringsmekanismen i nätverk av Windows-maskiner inte är kompatibel med standard Unix-mekanismer, används ett separat verktyg för att fylla i lösenordsfilen - smbpasswd.

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -e sergej

Det här exemplet lägger till en ny användare sergej tillhör en grupp försäljning, med ett dummy-skal (möjliga alternativ är /sbin/nologin, /dev/null) och en hemkatalog /home/samba/sergej. Sedan skapar vi ett lösenord för användaren sergej och det sista steget är att aktivera åtkomst för användaren, eftersom den är inaktiverad som standard. En intressant punkt som ibland kan vara förvirrande. Faktum är att när man ansluter till en SAMBA-server på en dator med Windows NT/2000, uppmanas användaren att ange, som förväntat, ett inloggningsnamn och lösenord, och om en dator med Windows 9x/Me används för åtkomst, då användaren uppmanas att endast ange lösenordet och inloggningen genereras automatiskt baserat på registreringsnamnet.

Du kan också mappa flera Windows-användare till en Linux/Unix-användare. För att göra detta skapas en mappningsfil /etc/smbusers.map, där varje mappning anges som en separat rad:

User_Linux = user_win1 user_win2 user_winN

I avsnittet, lägg till raden användarnamn map = /etc/smbusers.map. I det här fallet måste Windows-användaren registrera sig med lösenordet för användaren som han är associerad med.

Med SAMBA kan du organisera nätverksutskrift från datorer som kör Windows (om du planerar en separat skrivarserver räcker en maskin baserad på en 486-processor för detta).

För att göra detta måste du skriva följande rader i avsnittet:

Printcap name = /etc/printcap # fil som beskriver skrivare anslutna till systemet ladda skrivare = ja # indikerar behovet av automatisk inkludering i listan över nätverksresurser utskrift = lprng # utskriftssystem (för Linux kan bsd också användas).

Sökväg = /var/spool/samba # pekar på katalogen där utskriftsjobben placeras bläddringsbara = ja utskrivbar = ja skrivskyddad = ja

När du har skapat filen testar du den med hjälp av verktyget testparm. Tyvärr, med hjälp av detta program kan du bara upptäcka syntaxfel, inte logiska, så det finns ingen garanti för att tjänsterna som beskrivs i filen kommer att fungera korrekt (under testning kommer alla inställningar att visas, även de som är installerade som standard - så granska noggrant resultat). Men om programmet inte klagar kan du hoppas att filen laddas ner utan problem när den startas. Rätthet skrivarens funktion listade i filen /etc/printcap mot SAMBA-servern kan kontrolleras med hjälp av verktyget testprns. Dessutom, glöm inte .log-filer: om problem uppstår kan du ibland hitta en lösning där.

Nu lite om det goda. Att konfigurera Samba är ganska komplicerat, men distributionen kommer med ett webbaserat administrationsverktyg som heter flugsmälla(Samba Web Administration Tool, ). Swat lanseras som en tjänst eller använder Apache-server och är avsedd för att redigera filen smb.conf, samt för att kontrollera status, starta och stoppa Samba-demoner och ändra användarlösenord. För att den ska fungera som en tjänst måste filen /etc/services innehålla raden swat 901/tcp, och filen /etc/inetd.conf måste innehålla swat stream tcp nowait.400 root /usr/local/samba/bin/ swat swat (detta är om nätverksdemonen används inetd, vanligtvis i äldre distributioner; moderna distributioner använder ett säkrare alternativ - xinetd). För att använda swat i katalogen /etc/xinet.d, skapa en swat-fil med följande innehåll:

Service swat ( inaktivera = ingen port = 901 socket_type = stream vänta = ingen endast_från = 127.0.0.1 # detta är en linje att köra endast från lokal maskin user = rotserver = /usr/sbin/swat log_on_failure += ANVÄNDARID)

Nu för att starta Swat i ditt webbläsarfönster, skriv in:

Http://localhost:901

Men innan dess, se till att skapa en användare administration på det sätt som beskrivits ovan. Och kör aldrig SAMBA-tjänsten på uppdrag av rot.

Efter alla ändringar av filen smb.conf kommer du ibland behöva starta om demonen:

Smb: /etc/rc.d/init.d/smb starta om

Om det efter alla ovanstående steg fortfarande inte var möjligt att organisera åtkomst till SAMBA-resurser, då verktyg som t.ex ping(för att kontrollera tillgängligheten för en nod på nätverket), nmblookup(för att fråga efter NetBIOS-namn), eller som en sista utväg tcpdump. Och glöm inte åtkomsträttigheterna, för genom att tilldela katalogen /gde/to/w/glubine till användaren kommer du att ge honom möjligheten att läsa (köra rätt) de tidigare katalogerna.

Låt oss nu prata om att använda Samba-klienten, eftersom vi (Linux-användare) också vill arbeta med Windows nätverksresurser. För att ta reda på vilka resurser som är tillgängliga måste du ange kommandot /usr/bin/smbclient -L värdnamn. Programmet kommer att fråga efter ett lösenord, som svar på vilket du i de flesta fall bara behöver trycka på Enter. Nu, för att ansluta till den nödvändiga resursen, ange datornamnet och den nödvändiga resursen. Till exempel:

# /usr/bin/smbclient \\Alex\Sound

(här försöker vi ansluta till mappen Ljud på Alex dator). Som ett resultat, om kommandot angavs korrekt och nätverksresursen finns, bör du uppmanas att ange ett lösenord. Ange det eller tryck på Enter om ett lösenord inte krävs för åtkomst. Som svar kommer du att få en samba-klientprompt: smb: >. Ytterligare arbete sker genom en uppsättning kommandon, med vilka du kan utföra alla nödvändiga operationer för att arbeta med filer (kopiera, skapa, flytta, etc.). För hjälp, ange smb: > hjälp. Detta läge är något obekvämt, så i de flesta fall används modulen smbfs, del av samba; men i äldre distributioner kan kärnan kompileras utan smbfs-stöd, och då måste den byggas om. För att montera den nödvändiga resursen, skriv något så här:

Montera -t smbfs -o användarnamn=användare,lösenord=123456,iocharset=koi8-r,kodsida=866 //alex/ljud /mnt/ljud.

Om du inte anger ett användarnamn och lösenord kommer systemet att be dig om det. Glöm inte att genom att titta på filen ~HOME/.bash_history kan du ta reda på lösenordet baserat på de kommandon du skrev. En annan subtilitet: om smbclient-programmet visar filer med ryska namn korrekt, ägnar smbfs-modulen ibland inte absolut ingen uppmärksamhet åt annan kodning, även om du anger det uttryckligen. De säger att detta kan fixas med en patch, men jag har inte hittat någon till min Red Hat ännu.

Om du vill att SMB-resursen ska monteras automatiskt vid systemstart, lägg till en rad så här till din /etc/fstab-fil:

//guest@alex/sound /mnt/alex/sound smbfs rw, noauto 0 0.

I det här exemplet, på uppdrag av användaren gäst(om resursen stöder den här användaren och om den här användaren endast har åtkomst med ett lösenord, oroa dig inte: du kommer säkert att bli ombedd om det) ljudnätverksresursen på alexdatorn är monterad i mappen /mnt/alex/sound med möjligheten att skriva till denna katalog. Förresten, Samba-klienten ser perfekt dolda nätverksresurser, d.v.s. de vars nätverksnamn slutar med ett $-tecken.

Som du kan se måste du arbeta med kommandoraden, vilket orsakar tyst skräck för den moderna användaren. Och här mötte OpenSource-världen honom halvvägs – många verktyg har skapats som låter dig arbeta med Samba-resurser på ett mer bekant sätt, genom att trycka på knappar i grafiska skal. Det mest populära programmet som ingår i Mandrake-distributionen och dess derivat, samt Debian - gnomba. Hur som helst kan den hittas på de flesta servrar med Linux-mjukvara (jag såg den säkert på ftp://ftp.altlinux.ru/). Det här verktyget låter dig se tillgängliga nätverksresurser () och, om nödvändigt, montera dem i önskad katalog, medan ett monteringsalternativ är möjligt genom att ange inloggning och lösenord för de resurser som kräver det. Eventuell lansering filhanterare när den är monterad (standard gmc), skapa kataloger för monterade resurser, ställa in alternativet för automatisk skanning vid programstart (möjligt med SMB-protokollet som standard) och skanning med IP-adresser (planerad med WINS-protokollet). Av för mig okända orsaker, i vissa distributioner, vid skanning med SMB-protokollet, visades inte nätverksresurser, så jag använder alltid den andra metoden, eftersom den fungerar felfritt, behöver du bara ställa in IP-adresserna för skanning (om du vet). För att ryska filnamn ska visas korrekt, glöm inte att installera koi8-r-teckensnitten på fliken Alternativ > Val av teckensnitt, och kontrollera även raderna som indikerar den kyrilliska kodningen i filen smb.conf (se ovan).

Om gnomba bara kan montera och avmontera resurser, då programmet xsmbrowser Det låter dig också ange dem som mappar på den lokala datorn (). Det är sant att jag ännu inte lyckats få det här programmet att förstå filer med ryska namn, men det finns också positiva aspekter: när det här programmet körs matas alla monteringskommandon och olika nätverksförfrågningar till konsolen, vilket gör att du kan förstå dem väl. KDE-utvecklarna försökte också: genom Inställningar > Information verktyg tillgängligt Samba status, visar alla anslutningar till/från lokal dator, som också är ett praktiskt verktyg för att visa .log-filer. Verktyget tillhandahåller liknande information komba, som finns på http://linux.tucows.com/().

Så mycket som jag skulle vilja berätta mer, en tidning är en tidning – du kan inte få plats med allt. Därefter kommer den allestädes närvarande mannen och informationen att hjälpa dig. Dessutom kan all nödvändig referensinformation erhållas från SWAT-verktyget, och i Red Hat 7.3 fanns en bok Using Samba Robert"a Eckstein"a(Engelska språket - dåligt, helt gratis - bra: /usr/share/swat/using_samba), även tillgängligt från SWAT (). Ytterligare dokumentation, vanliga frågor och exempel på konfigurationsfiler finns i katalogen /usr/share/doc/samba. I olika forum kan du hitta ganska motsägelsefulla åsikter om Sambas arbete, från extremt negativa till fullständig förtjusning. Personligen står jag på de som stöder detta. Windows emulator NT, dessutom, enligt testresultat med samma utrustning, visar Samba-servern prestanda cirka 25-30% högre än en dator som kör ett system från Microsoft. Lycka till.

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 sådant 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. Sambas konfigurationer är desamma nästan överallt där jag har arbetat med dem, speciellt i de enklaste konfigurationerna.

Så installera samba på något lämpligt sätt för din operativ system. 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 detta fall full tillgång kommer att finnas på adressen 192.168.0.171. 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å ett felmeddelande:

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 ge alla rättigheter till mappen:

# chmod 0777 /mnt/filer

Starta om Samba och försök 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 antagning behöver du grundläggande kunskaper om nätverk och Linux installation till den virtuella maskinen. 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.
  • Utveckling 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.
Testa dig själv på inträdesprovet och se programmet för mer detaljer.


Topp