Samba - første skritt. Opprette et hjemmenettverk med Samba for enheter som kjører Windows, Linux, Android OS Samba Service

Hovedkonfigurasjonsfilen for Samba er /etc/samba/smb.conf. Den første konfigurasjonsfilen har et betydelig antall kommentarer for å dokumentere de ulike konfigurasjonsdirektivene.

Ikke alle mulige alternativer er inkludert i standardinnstillingsfilen. Se manual mann smb.conf eller Samba FAQ for mer informasjon.

1. Endre først følgende nøkkel/verdi-par i seksjonen fil /etc/samba/smb.conf:

Arbeidsgruppe = EKSEMPEL ... sikkerhet = bruker

Parameter sikkerhet ligger mye lavere i seksjonen og kommenteres ut som standard. Bytt også ut EKSEMPEL til noe mer passende for omgivelsene dine.

2. Opprett en ny seksjon på slutten av filen eller fjern kommentarene til et av eksemplene for katalogen du vil dele:

Kommentar = Ubuntu File Server Share-bane = /srv/samba/share søkbar = ja gjest ok = ja skrivebeskyttet = nei opprett maske = 0755

    kommentar: En kort beskrivelse av den delte ressursen. Brukes for din bekvemmelighet.

    sti: bane til den delte katalogen.

    Dette eksemplet bruker /srv/samba/sharename fordi, i henhold til File System Hierarchy Standard (FHS), er /srv-katalogen der alle data relatert til et gitt nettsted skal ligge. Teknisk sett kan en Samba-andel plasseres hvor som helst på filsystemet der begrensninger for filtilgang tillater det, men det anbefales å følge standarder.

    søkbar: Lar Windows-klienter se innholdet i en delt katalog ved hjelp av Windows utforsker.

    gjest ok: Lar klienter koble til den delte ressursen uten å oppgi passord.

    skrivebeskyttet: Bestemmer om ressursen er tilgjengelig med skrivebeskyttet eller skriverettigheter. Skriverettigheter er bare tilgjengelige når du spesifiserer Nei, som vist i dette eksemplet. Hvis verdien ja, da vil tilgangen til ressursen være skrivebeskyttet.

    lage maske: Definerer hvilke tilgangsrettigheter som skal angis for nye filer som opprettes.

3. Nå som Samba er konfigurert, må du opprette en katalog og angi tillatelser for den. Skriv inn i terminalen:

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

parameter -s ber mkdir om å lage et komplett katalogtre hvis det ikke eksisterer.

4. Til slutt, start samba-tjenester på nytt for å bruke de nye innstillingene:

Sudo restart smbd sudo restart nmbd

Du kan nå søke på Ubuntu-filserveren ved å bruke Windows-klienten og bla gjennom dens delte kataloger. Hvis klienten din ikke viser delingene dine automatisk, kan du prøve å få tilgang til serveren ved hjelp av IP-adressen, for eksempel \\192.168.1.1, fra et Windows Utforsker-vindu. For å sjekke at alt fungerer, prøv å lage en katalog i delt delen fra Windows.

For å opprette flere delinger, lag en ny seksjon i /etc/samba/smb.conf og start Samba på nytt. Bare sørg for at den delte katalogen er opprettet og har de riktige tillatelsene.

Delt ressurs "" og veien /srv/samba/share– Dette er bare eksempler. Angi ressursnavnet og katalognavnet i henhold til miljøet ditt. Det er en god idé å bruke navnet på ressursens katalog på filsystemet som navnet på ressursen. Med andre ord kan ressursen spesifiseres for katalogen /srv/samba/qa.

Gjennomføring nettverksprotokoller Server Message Block (SMB) Og Common Internet File System (CIFS). Hovedformålet er å dele filer og skrivere mellom Linux- og Windows-systemer.

Samba består av flere demoner som jobber i bakgrunn og tilby tjenester og en rekke kommandolinjeverktøy for samhandling med Windows-tjenester:

  • smbd- en demon som er en SMB-server for filtjenester og utskriftstjenester;
  • nmbd- en demon som tilbyr NetBIOS-navnetjenester;
  • pent- verktøyet gir kommandolinjetilgang til SMB-ressurser. Det lar deg også få lister delte ressurser på eksterne servere og se nettverksmiljøet;
  • smb.conf- en konfigurasjonsfil som inneholder innstillinger for alle Samba-verktøy;

Liste over porter brukt av Samba

  • dele- denne sikkerhetsmodusen emulerer autentiseringsmetoden som brukes av operativsystemer Windows-systemer 9x/Windows Me. I denne modusen ignoreres brukernavn og passord tildeles delinger. I denne modusen prøver Samba å bruke et klientlevert passord som kan brukes av forskjellige brukere.
  • bruker* - Denne sikkerhetsmodusen er satt som standard og bruker et brukernavn og passord for autentisering, slik det vanligvis gjøres i Linux. I de fleste tilfeller, på moderne operativsystemer, lagres passord i en kryptert database som kun brukes av Samba.
  • server- denne sikkerhetsmodusen brukes når det er nødvendig for Samba å utføre autentisering ved tilgang til en annen server. For klienter ser denne modusen ut som autentisering på brukernivå (brukermodus), men Samba kontakter faktisk serveren som er spesifisert i passordserverparameteren for å utføre autentisering.
  • domene- ved å bruke denne sikkerhetsmodusen kan du bli med i et Windows-domene fullt ut; For klienter ser dette det samme ut som autentisering på brukernivå. I motsetning til autentisering på servernivå, bruker domeneautentisering sikrere passordutveksling på domenenivå. For å bli helt med på et domene, må du kjøre flere kommandoer på Samba-systemet og muligens på domenekontrolleren.
  • annonser- denne sikkerhetsmodusen ligner på domeneautentiseringsmetoden, men krever en domenekontroller Active Directory Domenetjenester.

Full liste over parametere Samba er i manpages.

Ovenfor var et eksempel med tilgang til en katalog med delt tilgang. La oss vurdere et annet eksempel med en privat katalog, som kun kan nås med pålogging og passord.

La oss opprette en gruppe og legge til en bruker i den

Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft

La oss lage en katalog for brukeren og angi rettigheter

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

La oss opprette en samba-bruker

Sudo smbpasswd -a proft

Legg til en ny ressurs til /etc/samba/smb.conf

Sti = /srv/samba/proft gyldige brukere = @smbgrp gjest ok = ikke skrivbar = ja søkbar = ja

La oss starte serveren på nytt

Sudo systemctl restart smbd

Et eksempel på å sette opp en ressurs som inneholder symbolkobling til brukerens mappe ( /srv/samba/media/video » /home/proft/video)

Sti = /srv/samba/media gjest ok = ja skrivebeskyttet = ja søkbar = ja tving bruker = proft

Klientoppsett

Se datamaskinens delte ressurser

Smbclient -L 192.168.24.101 -U%

En annen tilkoblingsmetode for en anonym bruker med kommandolinje

Smbclient -U ingen //192.168.24.101/public ls

Hvis serveren er konfigurert med et høyere sikkerhetsnivå, må du kanskje sende brukernavnet eller domenenavnet ved å bruke henholdsvis -W og -U alternativene.

Smbclient -L 192.168.24.101 -U proft -W WORKGROUP

Montering av en samba-ressurs

# opprett et monteringspunkt mkdir -p ~/shares/public # monter en ressurs # for anonym bruker 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 # for bruker proft mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,password=1,workgroup=WORKGROUP,ip= 192.168.24.101,utf8

Mer bedre passord lagre i en egen fil

# sudo vim /etc/samba/sambacreds brukernavn=proftpassord=1 brukernavn=ingenuttpassord=

Sett tilgangsrettighetene til 0600

Sudo chmod 0600 /etc/samba/sambacreds

Ny monteringslinje

Mount -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

Og et eksempel for /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 åpne ressursen i Nautilus/Nemo/etc-filbehandlingen ved å bruke denne banen smb://192.268.24.101.

Hvis Nemo skriver Nemo kan ikke håndtere "smb"-plasseringer. det betyr at pakken mangler gvfs-smb.

Tilgang til serveren med Windows og Android-klient

Under Windows kan du finne ut arbeidsgruppen fra konsollen ved hjelp av

Nettoppsett arbeidsstasjon

Du kan åpne ressurser på en ekstern maskin ved å skrive inn UNC-adressen i Explorer-linjen eller i Kjør (Start - Kjør): \192.168.24.101 .

På Android kan du koble til serveren ved hjelp av ES filutforsker, på fanen Nettverk, legg til en server, ganske enkelt etter IP (uten å spesifisere skjemaet, smb). Deretter kan du åpne de delte ressursene. For statistikk: en HDRIP-film kjører uten nedbremsing.

Ytterligere lesning

I dag er det ganske vanlig å finne datamaskiner som kjører Linux og Windows på samme lokale nettverk. Årsakene til denne symbiosen kan være forskjellige: for eksempel hadde ikke eierne av en internettkafé nok midler til å kjøpe et lisensiert OS for alle datamaskiner, eller en systemadministrator ble ganske enkelt ansatt positive sider Linux. Populariteten til Microsoft-operativsystemer bestemmes i stor grad av klientprogramvare for Windows. Det er ingen hemmelighet at denne sektoren programvare veldig utviklet. Mange bedrifter har gjort en seriøs innsats for dette og har laget virkelig gode, og viktigst av alt, brukervennlige programmer som selv en vanlig bruker lett kan mestre. Men som server er ikke Windows’ posisjon lenger så tydelig. En server som kjører Unix er tradisjonelt preget av pålitelighet, stabil drift, sikkerhet og ofte lavere krav til systemressurser. Men i alle fall, bare å koble datamaskiner med forskjellige programvareplattformer til nettverket vil ikke få det forventede resultatet. Problemet er at disse to systemene bruker forskjellige prinsipper for å organisere nettverksressurser som er inkompatible med hverandre.
Siden det ikke er nødvendig å vente på Microsofts nåde, og det er usannsynlig at Windows vil lære å jobbe med Unix-nettverksfilsystemet (NFS) ved bruk av standardmidler, og for å være ærlig, jeg kjenner ikke tredjepartsprogrammer, det meste populær måte er å prøve å lære Unix å "late som" om det var Windows NT.

Interaksjon i et nettverk av datamaskiner som kjører Windows er basert på bruk av protokollen SMB (Server Message Block)- blokker med servermeldinger. Den sikrer at alle oppgavene som er nødvendige i disse tilfellene blir utført: åpne og lukke, lese og skrive, søke etter filer, opprette og slette kataloger, sette en utskriftsjobb og slette den derfra. Alle handlinger som er nødvendige for dette er implementert i Unix-lignende operativsystemer ved hjelp av pakken SAMBA. Dens evner kan deles inn i to kategorier: tilveiebringelse av ressurser (som vi mener tilgang til skriversystemet og filer) for Windows-klienter og tilgang til klientressurser. Det vil si at en datamaskin som kjører Linux kan fungere både som en server og en klient. La oss først vurdere SAMBA-serveralternativet.

Hva skal SAMBA sørge for normal operasjon på et nettverk av Windows-maskiner? Først tilgangskontroll, som kan implementeres enten på ressursnivå (andelsnivå), når et passord og tilsvarende bruksregler er tilordnet en hvilken som helst ressurs på nettverket (for eksempel "skrivebeskyttet"), mens brukernavnet har absolutt nei ingen mening; eller en mer avansert og fleksibel organisasjon på brukernivå, når det opprettes en konto for hver bruker, som i tillegg til navn og passord inneholder all nødvendig informasjon om tilgangsrettigheter til ressursen. Før han får tilgang til den nødvendige ressursen, blir hver bruker autentisert, hvoretter han får rettigheter i henhold til hans kontoer. For det andre er emulering av tilgangsrettigheter bestemt av filsystemet nødvendig. Saken er at de aktuelle systemene har tilgangsrettigheter til filer og kataloger på disken annerledes. I Unix er det tradisjonelt tre kategorier av filbrukere: Eieren, gruppe Og resten (annet). Hver av disse enhetene kan leveres lesetillatelser, skrive Og henrettelse. I Windows NT er tilgangssystemet noe mer fleksibelt, tilgang gis til flere grupper eller brukere, og tilsvarende tilgangsrettigheter fastsettes separat for hvert fag. Derfor er det umulig å fullstendig emulere tilgangsrettighetene som er iboende i NTFS ved å bruke SAMBA.

Med klienter i gang Windows 9x, er situasjonen annerledes. Siden tiden til bestefaren til DOS, på grunn av det faktum at systemet er enkeltbruker og det ikke kunne være snakk om noen brukere, langt mindre grupper, har bare fire attributter blitt definert for FAT-filsystemet - skrivebeskyttet, system, arkiv og skjult. I tillegg, i Windows, i motsetning til Unix, har filtypen en spesiell betydning - de som er ment å bli utført har filtypene .exe, .com eller .bat. Når du kopierer filer fra Unix-maskiner til datamaskiner som kjører Windows-kontroll attributter settes slik:

kun for lesing- lesing, skriving for eieren;

arkiv- utførelse for eieren;

systematisk- utførelse for gruppen;

skjult - utførelse for gruppen.

Et nettverk av Windows-maskiner kan organiseres som en arbeidsgruppe, når datamaskinene er uavhengige av hverandre og hver har sin egen database med passord og pålogginger med egen sikkerhetspolicy, og også som et NT-domene. Hele grunnlaget for bruker- og datamaskinautentisering administreres primær domenekontroller (PDC, primær domenekontroller), dvs. sentralisert. Samba lar deg begrense tilgangen på alle disse nivåene og fungerer som en "hovednettleser" i sammenheng med en arbeidsgruppe eller domenekontroller.

Vi har ordnet opp i de generelle organisatoriske spørsmålene. La oss nå se spesifikt på implementeringen og konfigurasjonen av en SAMBA-server i Linux. For at Samba-serveren skal fungere, må to demoner kjøre: smbd, som tilbyr en utskrifts- og fildelingstjeneste for Samba-klienter (for eksempel Windows of all stripes), og nmbd, som driver NetBIOS-navnetjenesten (den kan også brukes til å spørre etter andre navnetjenestedemoner). Protokollen brukes for å få tilgang til klienter TCP/IP. Vanligvis er Samba installert med en Linux-distribusjon. Hvordan sjekke? Bare gi kommandoen:

og du bør få noe sånt som dette:

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

Hvis den ikke er inkludert i standarddistribusjonen, velkommen til ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz eller nesten hvilken som helst server med programmer for Linux. Pakken er enkel å installere, så for ikke å ta opp plass vil vi anta at du har den installert. La oss nå sjekke om demonen kjører:

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

Som du ser har jeg den allerede i gang. Hvis du ikke har det, og du vil at det skal starte når systemet starter opp, kan du for eksempel merke av for ønsket boks i Linux Mandrake DrakConf- starte tjenester eller inn Red Hat kontrollpanel- Tjenestekonfigurasjon, vanligvis er dette nok. Eller start manuelt: ./etc/rc.d/init.d/smb start. Den eneste Samba-konfigurasjonsfilen heter smb.conf og er vanligvis plassert i /etc-katalogen (selv om den for eksempel i AltLinux er i /etc/samba-katalogen). SAMBA-tjenesten leser den hvert 60. sekund, så endringer som gjøres i konfigurasjonen trer i kraft uten omstart, men gjelder ikke allerede etablerte tilkoblinger.

Dette er grunnen til at jeg elsker Linux, fordi konfigurasjonsfilene er ren tekst (og godt kommentert inni), og for å bruke de fleste parameterne, trenger du bare å fjerne kommentarene til den tilsvarende linjen. Filen smb.conf er intet unntak. Den består av navngitte seksjoner som starter med seksjonsnavnet vedlagt firkantede parenteser. Inne i hver seksjon er det en rekke parametere i formen nøkkel=verdi. Konfigurasjonsfilen inneholder fire spesielle seksjoner: , og individuelle ressurser (aksjer). Som navnet tilsier inneholder seksjonen de mest generelle kjennetegnene som vil gjelde overalt, men som imidlertid da kan overstyres i seksjoner for enkeltressurser. Noen parametere i denne delen er også relevante for å konfigurere Samba-klientdelen.

Verdier av typiske seksjonsparametere global:

Arbeidsgruppe = gruppenavn # navn på arbeidsgruppen på Windows-nettverket netbiosnavn = navnet på serveren på nettverksserverstrengen = kommentar som er synlig i vinduet for nettverkslesing egenskaper gjest ok = ja # tillater gjestepålogging (gjest ok = nei - gjest innlogging er forbudt) gjestekonto = ingen # navn som gjestepålogging er tillatt under sikkerhet = bruker # Tilgangsnivå. bruker - på brukernivå, sikkerhet = del - autentisering basert på brukernavn og passord. Når du lagrer passorddatabasen på en annen SMB-server, brukes verdiene security = server og passordserver = name_server_NT. Hvis serveren er medlem av et domene, brukes verdien security = domain, tilgangspassordet er spesifisert i filen som er definert med smb passwd file = /path/to/file.

I tillegg kan du under registreringen bruke krypterte og ukrypterte (ren tekst) passord. Sistnevnte brukes i eldre Windows (Windows for Workgroups, Windows 95 (OSR2), alle versjoner av Windows NT 3.x, Windows NT 4 (opp til Service Pack 3)). For å aktivere alternativet for å bruke et kryptert passord, bruk alternativet krypter passord = ja. Vær spesielt oppmerksom på dette alternativet. På eldre Linux-distribusjoner som ble bygget under Windows 95-tiden (og med en eldre versjon av Samba), er passordkryptering deaktivert som standard, og samba før versjon 2.0 støtter ikke denne modusen i det hele tatt (forresten, dette alternativet og lignende - de som ikke er relatert til tilgang til spesifikke ressurser - brukes også i klienten).

For å vise russiske filnavn riktig, er følgende alternativer nødvendig: klientkodeside = 866 og tegnsett = koi8-r. I distribusjoner med god lokalisering, for eksempel derivater fra Mandrake og russiske, er denne linjen der allerede; noen ganger er det nok bare å avkommentere den, men i de fleste andre må du legge den til selv.

Opsjonsgrensesnittene = 192.168.0.1/24 spesifiserer hvilket nettverk (grensesnitt) programmet skal kjøre på hvis serveren er koblet til flere nettverk samtidig. Når du angir parameteren bare = ja, vil serveren bare svare på forespørsler fra disse nettverkene.

verter tillater = 192.168.1. 192.168.2. 127. - definerer klienter for hvem tilgang til tjenesten er tillatt.

I den globale delen kan du bruke ulike variabler for mer fleksibel konfigurasjon av serveren. Etter at forbindelsen er opprettet, erstattes reelle verdier i stedet. For eksempel, i loggfilen = /var/log/samba/%m.log-direktivet, hjelper %m-parameteren med å definere en separat loggfil for hver klientmaskin. Her er de vanligste variablene som brukes i den globale delen:

%a - OS-arkitektur på klientmaskinen (mulige verdier - Win95, Win NT, UKJENT, etc.);

%m - NetBIOS-navnet på klientdatamaskinen;

%L - NetBIOS-navnet til SAMBA-serveren;

%v - SAMBA-versjon;

%I - IP-adressen til klientdatamaskinen;

%T - dato og klokkeslett;

%u - navnet på brukeren som jobber med tjenesten;

%H er hjemmekatalogen til brukeren %u.

Dessuten, for mer fleksibel konfigurasjon, brukes include-direktivet ved å bruke variablene ovenfor. For eksempel: include = /etc/samba/smb.conf.%m - nå når du ber om salg fra en datamaskin og det er en fil /etc/samba/smb.conf.sales, vil konfigurasjonen bli hentet fra denne filen. Hvis det ikke er noen egen fil for en bestemt maskin, brukes en felles fil til å jobbe med den.

# sudo vim /etc/samba/sambacreds brukernavn=proftpassord=1 brukernavn=ingenuttpassord=

Sett tilgangsrettighetene til 0600

Sudo chmod 0600 /etc/samba/sambacreds

Ny monteringslinje

Mount -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

Og et eksempel for /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 åpne ressursen i Nautilus/Nemo/etc-filbehandlingen ved å bruke denne banen smb://192.268.24.101.

Hvis Nemo skriver Nemo kan ikke håndtere "smb"-plasseringer. det betyr at pakken mangler gvfs-smb.

Tilgang til serveren med Windows og Android-klient

Under Windows kan du finne ut arbeidsgruppen fra konsollen ved hjelp av

Nettoppsett arbeidsstasjon

Du kan åpne ressurser på en ekstern maskin ved å skrive inn UNC-adressen i Explorer-linjen eller i Kjør (Start - Kjør): \192.168.24.101 .

På Android kan du koble til serveren ved hjelp av ES filutforsker, på fanen Nettverk, legg til en server, ganske enkelt etter IP (uten å spesifisere skjemaet, smb). Deretter kan du åpne de delte ressursene. For statistikk: en HDRIP-film kjører uten nedbremsing.

Ytterligere lesning

Eller kanskje er det bare interesse og nysgjerrighet som presser brukere til å søke etter diverse passende programvare. Samba er en slik programvare. Du må vite hvordan du setter opp Samba på Ubuntu Server hvis du vil gjøre datamaskinen om til en database eller fillagring.

Ved å installere Samba på Ubuntu Server kan du opprette en database.

Hvis du trodde at siden var dedikert til å lære dans, tok du litt feil. Samba er gratis programvare. Den gir tilgang til skrivere og filer. Og det gjør det på forskjellige operativsystemer.

Hva er den til?

Sammenlignet med andre programvarepakker for lignende formål, har Samba flere fordeler og funksjoner.

  • Lar deg koble et Unix-lignende system, dvs. et hvilket som helst Linux- og Windows-system, til hverandre. Og ikke bare Windows. Programmet er veldig "altetende": MacOS, Solaris og andre operativsystemer med ulik grad av popularitet.
  • Samba lar Windows-brukere bruke Ubuntu-datamaskiner som server. Det vil si, bruk filene det er etablert tilgang til, samt noen av de tilkoblede enhetene.
  • Støtter NT Domain-domenestrukturen, administrerer NT-brukere, støtter medlems- og primærkontrollerfunksjoner.

Sannsynligvis, for mange, er hovedsaken fra dette kommunikasjon med Windows-maskiner. I dette tilfellet fungerer de som en klient, og Ubuntu-datamaskinen fungerer som en server. På den annen side kan en Ubuntu-bruker også få tilgang til Windows-nettverksmapper.


Samba har blitt produsert siden 1992. Og viktigst av alt, nye versjoner blir fortsatt utgitt. Sistnevnte ble utgitt 7. mars 2017. Hvert år prøver utviklere å etablere kompatibilitet med et stort antall forskjellige versjoner av operativsystemer, men hovedfunksjonen er fortsatt forbindelsen mellom Linux-systemer og Microsoft. Sammenlignet med Windows Server kan Samba være dårligere enn den på grunn av mangel på støtte for enkelte protokoller og vertsinfrastruktur. Imidlertid hevder mange at hastigheten til Samba er mye høyere.

Setter opp Samba

Før du setter opp, må programmet være installert. Installasjon av Samba gjøres på samme måte som med andre programmer - ved å skrive inn kommandoen i terminalen:

sudo apt-get install samba


Vennligst merk med en gang: alle trinnene som vil bli beskrevet, inkludert installasjon av programmet, kan utføres både på enkel Ubuntu og på Ubuntu Server. Bare sistnevnte har et eksklusivt tekstgrensesnitt tilgjengelig.

Etter installasjonen bør du ta en sikkerhetskopi av konfigurasjonsfilen:

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

Eller vi redigerer en eksisterende. Denne filen inneholder de grunnleggende innstillingene til Samba-serveren. For å finne ut hva vi skal gjøre videre, må vi forstå hva de forskjellige linjene betyr.

  • Arbeidsgruppe - arbeidsgruppe. Verdien av denne parameteren vil også ofte være Workgroup, siden standard arbeidsgruppedomenet i Windows ser slik ut.
  • Netbios-navnet er navnet på Ubuntu-datamaskinen sett av Windows-brukere. Her kan du legge inn verdien etter eget skjønn.
  • Sikkerhet - brukerautorisasjonsmodus. Standard er Bruker, det vil si autentisering på brukernivå. Foreløpig er det best å la det være slik.
  • Os-nivå - indikerer prioriteten som Samba har over andre klienter (PC-er) på det lokale eller Internett-nettverket.
  • Navneoppløsningsrekkefølge - rekkefølge for IP-adresseoppløsning etter NetBIOS-navn.
  • Skrivebeskyttet – rett til å lese eller skrive en katalog. Verdien kan være "ja" - skrivebeskyttet, "nei" - skriv.

Opprett en bruker

Dette er den enkleste handlingen du kan begynne å jobbe med Samba med.


Legg til en bruker i selve operativsystemet:

$ useradd -M -l -s /sbin/nologin brukernavn

La oss lage et passord for det:

La oss legge til brukeren vår til Samba-databasen:

$ smbpasswd -et brukernavn


Du kan utføre forskjellige andre handlinger ved å bruke kommandoen $ smbpasswd:

  • $ smbpasswd brukernavn - endre passord
  • $ smbpasswd -x brukernavn - slett en bruker
  • $ smbpasswd -d brukernavn - forbud bruker

Serveren må startes på nytt hvis du gjør endringer i konfigurasjonsfilen. Dette gjøres ved å bruke kommandoen:

$ systemctl start smb på nytt

Dette er de grunnleggende Samba-innstillingene. Nå kan du prøve å sette programmet ut i livet.

Mappetilgang

La oss først prøve å lage en mappe som vil være tilgjengelig for alle brukere, også de som ikke er autorisert i Samba.

Vi lager en mappe som vi deretter skal jobbe med på to datamaskiner:

$ sudo mkdir -p /samba/tilgang

Nå lager vi utvidet tilgang for denne mappen slik at enhver klient av oss kan åpne den lokalt nettverk:

$cd/samba
$ sudo chmod -R 0755 tilgang
$ sudo chown -R nobody:nogroup access/

Eieren i henhold til koden er ingen.


Nå i serverkonfigurasjonsfilen må du lage to seksjoner: den første inneholder grunnleggende informasjon:

Arbeidsgruppe = ARBEIDSGRUPP
serverstreng = Samba Server %v
netbios navn = srvr1
sikkerhet = bruker
kart til gjest = dårlig bruker
navneløse rekkefølge = bcast-vert
dns proxy = nei
#==============
Og den andre, som inneholder data om tilgangsmappen:

Bane = /samba/tilgang
søkbar =ja
skrivbar = ja
gjest ok = ja
skrivebeskyttet = nei

Avsnittene følger etter hverandre i samme rekkefølge.

Oppdater serverendringer:

$ sudo service smbd omstart

Handlinger med en Windows-datamaskin

På Windows må du også utføre noen trinn slik at du enkelt kan åpne en ny delt mappe og redigere den.

  1. Åpne kommandolinjen. Det anbefales å gjøre dette med utvidede rettigheter, det vil si som administrator.
  2. Vi utfører kommandoen:
  3. notatblokk C:\Windows\System32\drivers\etc\hosts
  4. En fil åpnes der vi skriver inn følgende linje:
  5. 168.0.1 srvr1.domain.com srvr1
    Takket være det blir mappen tilgjengelig.
  6. Du kan åpne den ved å bruke "Kjør"-linjen. Trykk Win + R, enter: Etter dette åpnes en mappe for oss.


Lukket mappe

En konfigurert Samba-server kan også brukes til å lage nettverksmapper med begrenset tilgang. En slik mappe må også opprettes først og deretter legges til Samba-konfigurasjonen.

La oss lage en mappe som heter "Lukket":

$ sudo mkdir -p /samba/allaccess/lukket

La oss lage en spesiell gruppe som kan ha tilgang til denne mappen:

$ sudo addgroup securedgroup

Vi oppretter spesielle rettigheter for ulike grupper:

$ cd /samba/tilgang
$ sudo chown -R richard:securedgroup stengt
$ sudo chmod -R 0770 lukket/

Akkurat som i tilfellet med en åpen mappe, legger vi til informasjon til konfigurasjonen:

Bane = /samba/tilgang/lukket
gyldige brukere = @securegroup
gjest ok = nei
skrivbar = ja
søkbar = ja

Vi starter serveren på nytt.

Som du kan forstå, opprettet vi en lukket mappe i Access. Dermed kan Access åpnes av alle brukere på det lokale nettverket, men for å se og redigere Lukket, må du ha spesielle rettigheter.

For å være sikker på at alt fungerer akkurat som vi spesifiserte i batchfilen, kan du utføre noen få enkle trinn.

I dag er det ganske vanlig å finne datamaskiner som kjører Linux og Windows på samme lokale nettverk. Årsakene til denne symbiosen kan være forskjellige: for eksempel hadde ikke eierne av en internettkafé nok midler til å kjøpe et lisensiert OS for alle datamaskiner, eller Systemadministrator Jeg ble rett og slett tiltrukket av de positive sidene ved Linux. Populariteten til Microsoft-operativsystemer bestemmes i stor grad av klientprogramvare for Windows. Det er ingen hemmelighet at denne programvaresektoren er svært utviklet. Mange bedrifter har gjort en seriøs innsats for dette og har laget virkelig gode, og viktigst av alt, brukervennlige programmer som selv en vanlig bruker lett kan mestre. Men som server er ikke Windows’ posisjon lenger så tydelig. En server som kjører Unix er tradisjonelt preget av pålitelighet, stabil drift, sikkerhet og ofte lavere krav til systemressurser. Men i alle fall, bare å koble datamaskiner med forskjellige programvareplattformer til nettverket vil ikke få det forventede resultatet. Problemet er at disse to systemene bruker forskjellige prinsipper for å organisere nettverksressurser som er inkompatible med hverandre.
Siden det ikke er nødvendig å vente på Microsofts nåde, og Windows vil neppe lære å jobbe med Unix-nettverksfilsystemet (NFS) standard betyr, og for å være ærlig, jeg kjenner ingen tredjepartsprogrammer, den mest populære måten er å prøve å lære Unix å "late som om" det er Windows NT.

Interaksjon i et nettverk av datamaskiner som kjører Windows er basert på bruk av protokollen SMB (Server Message Block)— blokker med servermeldinger. Den sikrer at alle oppgavene som er nødvendige i disse tilfellene blir utført: åpne og lukke, lese og skrive, søke etter filer, opprette og slette kataloger, sette en utskriftsjobb og slette den derfra. Alle handlinger som er nødvendige for dette er implementert i Unix-lignende operativsystemer ved hjelp av pakken SAMBA. Dens evner kan deles inn i to kategorier: tilveiebringelse av ressurser (som vi mener tilgang til skriversystemet og filer) for Windows-klienter og tilgang til klientressurser. Det vil si at en datamaskin som kjører Linux kan fungere både som en server og en klient. La oss først vurdere SAMBA-serveralternativet.

Hva skal SAMBA sørge for for normal drift av Windows-maskiner på et nettverk? Først tilgangskontroll, som kan implementeres enten på ressursnivå (andelsnivå), når et passord og tilsvarende bruksregler er tilordnet en hvilken som helst ressurs på nettverket (for eksempel "skrivebeskyttet"), mens brukernavnet har absolutt nei ingen mening; eller en mer avansert og fleksibel organisasjon på brukernivå, når det opprettes en konto for hver bruker, som i tillegg til navn og passord inneholder all nødvendig informasjon om tilgangsrettigheter til ressursen. Før han får tilgang til den nødvendige ressursen, blir hver bruker autentisert, hvoretter han får rettigheter i henhold til hans kontoer. For det andre er emulering av tilgangsrettigheter bestemt av filsystemet nødvendig. Saken er at de aktuelle systemene har tilgangsrettigheter til filer og kataloger på disken annerledes. I Unix er det tradisjonelt tre kategorier av filbrukere: Eieren, gruppe Og resten (annet). Hver av disse enhetene kan leveres lesetillatelser, skrive Og henrettelse. I Windows NT er tilgangssystemet noe mer fleksibelt, tilgang gis til flere grupper eller brukere, og tilsvarende tilgangsrettigheter fastsettes separat for hvert fag. Derfor er det umulig å fullstendig emulere tilgangsrettighetene som er iboende i NTFS ved å bruke SAMBA.

Med klienter i gang Windows 9x, er situasjonen annerledes. Siden tiden til bestefaren til DOS, på grunn av det faktum at systemet er enkeltbruker og det kan ikke være snakk om noen brukere, langt mindre grupper, for filen FAT-systemer Bare fire attributter er definert − skrivebeskyttet, system, arkiv og skjult. I tillegg, i Windows, i motsetning til Unix, har filtypen en spesiell betydning - de som er ment å bli utført har filtypene .exe, .com eller .bat. Når du kopierer filer fra Unix-maskiner til Windows-datamaskiner, settes attributtene slik:

kun for lesing— lese, skrive for eieren;

arkiv— utførelse for eieren;

systematisk— utførelse for gruppen;

skjult - utførelse for gruppen.

Et nettverk av Windows-maskiner kan organiseres som en arbeidsgruppe, når datamaskinene er uavhengige av hverandre og hver har sin egen database med passord og pålogginger med egen sikkerhetspolicy, og også som et NT-domene. Hele grunnlaget for bruker- og datamaskinautentisering administreres primær domenekontroller (PDC, primær domenekontroller), dvs. sentralisert. Samba lar deg begrense tilgangen på alle disse nivåene og fungerer som en "hovednettleser" i sammenheng med en arbeidsgruppe eller domenekontroller.

Vi har ordnet opp i de generelle organisatoriske spørsmålene. La oss nå se spesifikt på implementeringen og konfigurasjonen av en SAMBA-server i Linux. For at Samba-serveren skal fungere, må to demoner kjøre: smbd, som tilbyr en utskrifts- og fildelingstjeneste for Samba-klienter (for eksempel Windows of all stripes), og nmbd, som driver NetBIOS-navnetjenesten (den kan også brukes til å spørre etter andre navnetjenestedemoner). Protokollen brukes for å få tilgang til klienter TCP/IP. Vanligvis er Samba installert med en Linux-distribusjon. Hvordan sjekke? Bare gi kommandoen:

$hvor er samba

og du bør få noe sånt som dette:

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

Hvis den ikke er inkludert i standarddistribusjonen, velkommen til ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz eller nesten hvilken som helst server med programmer for Linux. Pakken er enkel å installere, så for ikke å ta opp plass vil vi anta at du har den installert. La oss nå sjekke om demonen kjører:

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

Som du ser har jeg den allerede i gang. Hvis du ikke har det, og du vil at det skal starte når systemet starter opp, kan du for eksempel merke av for ønsket boks i Linux Mandrake DrakConfstarte tjenester eller inn Red Hat kontrollpanelTjenestekonfigurasjon, vanligvis er dette nok. Eller start manuelt: ./etc/rc.d/init.d/smb start. Den eneste Samba-konfigurasjonsfilen heter smb.conf og er vanligvis plassert i /etc-katalogen (selv om den for eksempel i AltLinux er i /etc/samba-katalogen). SAMBA-tjenesten leser den hvert 60. sekund, så endringer som gjøres i konfigurasjonen trer i kraft uten omstart, men gjelder ikke allerede etablerte tilkoblinger.

Dette er grunnen til at jeg elsker Linux, fordi konfigurasjonsfilene er ren tekst (og godt kommentert inni), og for å bruke de fleste parameterne, trenger du bare å fjerne kommentarene til den tilsvarende linjen. Filen smb.conf er intet unntak. Den består av navngitte seksjoner som starter med seksjonsnavnet omsluttet av hakeparenteser. Inne i hver seksjon er det en rekke parametere i formen nøkkel=verdi. Konfigurasjonsfilen inneholder fire spesielle seksjoner: , , og individuelle ressurser (shares). Som navnet tilsier inneholder seksjonen de mest generelle kjennetegnene som vil gjelde overalt, men som imidlertid da kan overstyres i seksjoner for enkeltressurser. Noen parametere i denne delen er også relevante for å konfigurere Samba-klientdelen.

Verdier av typiske seksjonsparametere global:

Arbeidsgruppe = gruppenavn # navn på arbeidsgruppen på Windows-nettverket netbiosnavn = navnet på serveren på nettverksserverstrengen = kommentar som er synlig i vinduet for nettverkslesing egenskaper gjest ok = ja # tillater gjestepålogging (gjest ok = nei - gjest innlogging er forbudt) gjestekonto = ingen # navn som gjestepålogging er tillatt under sikkerhet = bruker # Tilgangsnivå. bruker - på brukernivå, sikkerhet = del - autentisering basert på brukernavn og passord. Når du lagrer passorddatabasen på en annen SMB-server, brukes verdiene security = server og passordserver = name_server_NT. Hvis serveren er medlem av et domene, brukes verdien security = domain, tilgangspassordet er spesifisert i filen som er definert med smb passwd file = /path/to/file.

I tillegg kan du under registreringen bruke krypterte og ukrypterte (ren tekst) passord. Sistnevnte brukes i eldre Windows (Windows for Workgroups, Windows 95 (OSR2), alle versjoner av Windows NT 3.x, Windows NT 4 (opp til Service Pack 3)). For å aktivere alternativet for å bruke et kryptert passord, bruk alternativet krypter passord = ja. Vær spesielt oppmerksom på dette alternativet. I eldre Linux-distribusjoner som ble opprettet under Windows 95-tiden (og utover), gammel versjon Samba) passordkryptering er deaktivert som standard, og samba er opp til versjon 2.0 støtter ikke denne modusen i det hele tatt (forresten, dette alternativet og lignende - de som ikke er relatert til tilgang til spesifikke ressurser - brukes også i klienten).

For å vise russiske filnavn riktig, er følgende alternativer nødvendig: klientkodeside = 866 og tegnsett = koi8-r. I distribusjoner med god lokalisering, for eksempel derivater fra Mandrake og russiske, er denne linjen der allerede; noen ganger er det nok bare å avkommentere den, men i de fleste andre må du legge den til selv.

Opsjonsgrensesnittene = 192.168.0.1/24 spesifiserer hvilket nettverk (grensesnitt) programmet skal kjøre på hvis serveren er koblet til flere nettverk samtidig. Når du angir parameteren bare = ja, vil serveren bare svare på forespørsler fra disse nettverkene.

verter tillater = 192.168.1. 192.168.2. 127. — definerer klienter som tilgang til tjenesten er tillatt for.

I den globale delen kan du bruke ulike variabler for mer fleksibel konfigurasjon av serveren. Etter at forbindelsen er opprettet, erstattes reelle verdier i stedet. For eksempel, i loggfilen = /var/log/samba/%m.log-direktivet, hjelper %m-parameteren med å definere en separat loggfil for hver klientmaskin. Her er de vanligste variablene som brukes i den globale delen:

%a - OS-arkitektur på klientmaskinen (mulige verdier - Win95, Win NT, UKJENT, etc.);

%m — NetBIOS-navnet på klientdatamaskinen;

%L — NetBIOS-navnet til SAMBA-serveren;

%v — SAMBA-versjon;

%I — IP-adressen til klientdatamaskinen;

%T — dato og klokkeslett;

%u er navnet på brukeren som jobber med tjenesten;

%H er hjemmekatalogen til brukeren %u.

Dessuten, for mer fleksibel konfigurasjon, brukes include-direktivet ved å bruke variablene ovenfor. For eksempel: include = /etc/samba/smb.conf.%m - nå når du ber om salg fra en datamaskin og det er en fil /etc/samba/smb.conf.sales, vil konfigurasjonen bli hentet fra denne filen. Hvis det ikke er noen egen fil for en bestemt maskin, brukes en felles fil til å jobbe med den.

Det er også en interessant mulighet opprettelse virtuell server . For å gjøre dette, bruk netbios alias-parameteren:

Netbios-aliaser = salgsregnskapsadmin

Nå ber vi Samba bruke sin egen konfigurasjonsfil for hver virtuell server:

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

Tre servere vil være synlige i nettleservinduet: salg, regnskap, admin.

Aktivering av alternativene for bevar store og små bokstaver og kort bevar store og små bokstaver får serveren til å lagre alle inndata på en måte som skiller mellom store og små bokstaver (på Windows skiller det ikke mellom store og små bokstaver, på alle Unix-systemer er det omvendt).

Seksjonen lar brukere koble til arbeidskatalogene sine uten å eksplisitt beskrive dem. Når en klient ber om sin //sambaserver/sergej-katalog, ser maskinen etter den tilsvarende beskrivelsen i filen, og hvis den ikke finner den, ser den etter tilstedeværelsen av denne delen. Hvis partisjonen eksisterer, ser den gjennom passordfilen for å finne arbeidskatalogen til brukeren som sender forespørselen og, hvis den finnes, gjør den tilgjengelig for brukeren.

En typisk beskrivelse av denne delen ser slik ut:

Kommentar = Hjemmekataloger # kommentar som er synlig i vinduet med nettverksegenskaper bla gjennom = no # bestemmer om ressursen skal vises i søkelisten. skrivbar = ja # tillater (nei - nekter) skriving til hjemmekatalogen opprettingsmodus = 0750 # tilgangsrettigheter for nyopprettede filer katalogmodus = 0775 # også, men bare for kataloger

Etter å ha konfigurert standardinnstillingene, kan du opprette nettverksressurser som kan nås av en bestemt bruker eller gruppe brukere. En slik ressurs er opprettet fra en allerede eksisterende katalog; for dette skriver vi i filen:

Kommentar = Offentlig bane = /home/samba offentlig = ja skrivbar = ikke utskrivbar = ingen skriveliste = administrator, @salg

Baneparameteren peker til katalogen der ressursen er plassert; den offentlige parameteren spesifiserer om ressursen kan brukes av en gjest, og den utskrivbare parameteren spesifiserer om ressursen kan brukes til utskrift. Skrivelisteparameteren lar deg definere brukere som har lov til å skrive til en ressurs uavhengig av den skrivbare verdien (i dette eksemplet er disse administratorbrukeren og salgsgruppen). Det er også mulig å bruke motsatt liste – leseliste. Hvis det er behov for å skjule noen filer, må filnavnet i Unix/Linux begynne med en prikk (parameteren hide dot files, som styrer visningen skjulte filer, er standard til ja). I tillegg er det mulig å spesifisere maler for navn på skjulte filer, som parameteren hide files brukes til. Hvert mønster begynner og slutter med en skråstrek (/) og kan inneholde tegn som brukes i vanlig uttrykk. For eksempel: skjul filer = /*.log/??.tmp/. Slike triks koster Windows-brukere bare ved å sette "Vis skjulte og systemfiler"-modus i Utforsker. For å trygt begrense tilgjengeligheten (muligheten til å slette) en fil (katalog), bruk vetofilene og slett vetofilparametere.

Med CD-stasjoner er situasjonen noe mer komplisert. Saken er at i Unix-lignende systemer er det ikke noe konsept for en disk som sådan, og for å få tilgang til ønsket enhet må den først monteres i et katalogtre (# mount -t iso9660 /dev/cdrom / mnt/cdrom), og etter bruk, for ikke å ødelegge filsystem, må være avmontert (# umount /dev/cdrom), ellers vil enheten ganske enkelt ikke gi fra seg disken. Hvis du har en demon som kjører på serveren din autofs, så er problemet lett løst. For automatisk å demontere en enhet som har vært ubrukt på en stund, sett timeout-parameteren i filen /etc/auto.master til ønsket verdi. For eksempel:

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

(en lignende linje er der allerede, du trenger bare å fjerne kommentarer). Sett deretter alternativene for den aktuelle enheten i filen /etc/auto.tab:

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

Etter alt dette skriver vi følgende linjer i /etc/smb.conf for å gjøre denne ressursen tilgjengelig:

Bane = /mnt/cdrom skrivbar = nei

Det andre alternativet er å bruke preexec- og postexec-direktivene, som indikerer hvilke kommandoer som må utføres når du får tilgang til en ressurs og etter at du har koblet fra den (disse parameterne kan spesifiseres for enhver ressurs og til og med i den globale delen, noe som åpner for store muligheter) .

Path = /mnt/cdrom skrivebeskyttet = ja root preexec = mount /mnt/cdrom # Bare root har rett til å montere en ressurs root postexec = umount /mnt/cdrom # Naturligvis må disse monteringspunktene beskrives i /etc/ fstab-fil, ellers må du også oppgi annen informasjon.

Nå, når du får tilgang til en ressurs, blir CD-ROM-en automatisk montert, og noen ganger avmontert. Hele problemet er at beslutningen om å stenge en ressurs må tas av serveren - klienter varsler som regel ikke om dette. Men vanligvis skjer dette fordi ressursen brukes av flere brukere samtidig eller blir liggende på én datamaskin åpen fil på denne ressursen (Enhet opptatt). Derfor demonteres ikke CD-ROM-en automatisk; den eneste akseptable måten å frigjøre ressursen på er å lete ved hjelp av verktøyet smbstatus nummeret til prosessen som bruker denne ressursen og drep den med kommandoen # kill pid_number (eller kill -s HUP pid_number).

Etter å ha etablert den nødvendige konfigurasjonen, vil vi nå opprette brukerkontoer (med unntak av gjestepåloggingen med minimale rettigheter ingen). For å identifisere SAMBA-brukere brukes filen /etc/samba/smbpasswd, som inneholder brukernavn og krypterte passord. Siden krypteringsmekanismen i nettverk av Windows-maskiner ikke er kompatibel med standard Unix-mekanismer, brukes et eget verktøy for å fylle ut passordfilen - smbpasswd.

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

Dette eksemplet legger til en ny bruker sergej som tilhører gruppen salg, med et dummy-skall (mulige alternativer er /sbin/nologin, /dev/null) og en hjemmekatalog /home/samba/sergej. Deretter lager vi et passord for brukeren sergej og det siste trinnet er å aktivere tilgang for brukeren, fordi den er deaktivert som standard. Et interessant poeng som noen ganger kan være forvirrende. Faktum er at når du kobler til en SAMBA-server på en datamaskin med Windows NT/2000, blir brukeren bedt om å oppgi, som forventet, pålogging og passord, og hvis en datamaskin med Windows 9x/Me brukes for tilgang, vil brukeren blir bedt om å angi bare passordet, og påloggingen genereres automatisk basert på registreringsnavnet.

Du kan også tilordne flere Windows-brukere til én Linux/Unix-bruker. For å gjøre dette opprettes en tilordningsfil /etc/smbusers.map, der hver tilordning er spesifisert som en egen linje:

User_Linux = bruker_vinn1 bruker_vinn2 bruker_vinnN

I seksjonen legger du til linjen brukernavn map = /etc/smbusers.map. I dette tilfellet må Windows-brukeren registrere seg med passordet til brukeren han er tilknyttet.

Ved å bruke SAMBA kan du organisere nettverksutskrift fra datamaskiner som kjører Windows (hvis du planlegger en egen utskriftsserver, er en maskin basert på en 486-prosessor tilstrekkelig for dette).

For å gjøre dette må du skrive følgende linjer i seksjonen:

Printcap name = /etc/printcap # fil som beskriver skrivere koblet til systemet laste skrivere = yes # indikerer behovet for automatisk inkludering i listen over nettverksressurser utskrift = lprng # utskriftssystem (for Linux kan bsd også brukes).

Bane = /var/spool/samba # peker til katalogen der utskriftsjobber er plassert blabar = ja utskrivbar = ja skrivebeskyttet = ja

Etter å ha opprettet filen, test den med verktøyet testparm. Dessverre, ved å bruke dette programmet kan du bare oppdage syntaksfeil, ikke logiske, så det er ingen garanti for at tjenestene som er beskrevet i filen vil fungere riktig (under testing vil alle innstillinger vises, også de som er installert som standard - så se nøye gjennom resultat). Men hvis programmet ikke klager, kan du håpe at filen blir lastet ned uten problemer når den startes. Korrekthet skriverdrift oppført i /etc/printcap-filen mot SAMBA-serveren kan kontrolleres ved hjelp av verktøyet testprns. I tillegg, ikke glem .log-filer: Hvis det oppstår problemer, kan du noen ganger finne en løsning der.

Nå litt om de gode tingene. Konfigurering av Samba er ganske komplisert, men distribusjonen kommer med et nettbasert administrasjonsverktøy kalt swat(Samba Web Administration Tool, ). Swat lanseres som en tjeneste eller bruker Apache server og er beregnet på å redigere smb.conf-filen, samt for å sjekke status, starte og stoppe Samba-demoner og endre brukerpassord. For at den skal fungere som en tjeneste, må filen /etc/services inneholde linjen swat 901/tcp, og filen /etc/inetd.conf må inneholde swat stream tcp nowait.400 root /usr/local/samba/bin/ swat swat (dette er hvis nettverksdemonen brukes inetd, vanligvis i eldre distribusjoner; moderne distribusjoner bruker et sikrere alternativ - xinetd). For å bruke swat i /etc/xinet.d-katalogen, lag en swat-fil med følgende innhold:

Service swat ( deaktiver = ingen port = 901 socket_type = stream wait = no only_from = 127.0.0.1 # dette er en linje som kun skal kjøres fra lokal maskin bruker = rotserver = /usr/sbin/swat log_on_failure += USERID )

Nå for å starte Swat i nettleservinduet, skriv inn:

Http://localhost:901

Men før det, sørg for å opprette en bruker admin på den måten som er beskrevet ovenfor. Og aldri kjør SAMBA-tjenesten på vegne av rot.

Etter alle endringene i smb.conf-filen, vil du noen ganger måtte starte daemonen på nytt:

Smb: /etc/rc.d/init.d/smb restart

Hvis det etter alle trinnene ovenfor fortsatt ikke var mulig å organisere tilgang til SAMBA-ressurser, vil verktøy som f.eks ping(for å sjekke tilgjengeligheten til en node på nettverket), nmblookup(for å spørre etter NetBIOS-navn), eller som en siste utvei tcpdump. Og ikke glem tilgangsrettigheter, fordi ved å tilordne /gde/to/w/glubine-katalogen til brukeren, vil du gi ham muligheten til å lese (utføre rett) de forrige katalogene.

La oss nå snakke om å bruke Samba-klienten, fordi vi ( Linux-brukere) Jeg vil også jobbe med Windows-nettverksressurser. For å finne ut hvilke ressurser som er tilgjengelige, må du skrive inn kommandoen /usr/bin/smbclient -L vertsnavn. Programmet vil be om et passord, som svar på som du i de fleste tilfeller bare trenger å trykke på Enter. Nå, for å koble til den nødvendige ressursen, skriv inn datamaskinnavnet og den nødvendige ressursen. For eksempel:

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

(her prøver vi å koble til Lyd-mappen på Alex sin datamaskin). Som et resultat, hvis kommandoen ble skrevet inn riktig og nettverksressursen eksisterer, bør du bli bedt om å angi et passord. Skriv den inn eller trykk Enter hvis det ikke kreves passord for tilgang. Som svar vil du motta en samba-klientmelding: smb: >. Videre arbeid skjer gjennom et sett med kommandoer, som du kan utføre alle nødvendige operasjoner for å jobbe med filer (kopiere, opprette, flytte, etc.). For hjelp, skriv inn smb: > hjelp. Denne modusen er noe upraktisk, så i de fleste tilfeller brukes modulen smbfs, del av samba; men i eldre distribusjoner kan kjernen være kompilert uten smbfs-støtte, og da må den bygges om. For å montere den nødvendige ressursen, skriv noe slikt:

Monter -t smbfs -o brukernavn=bruker,passord=123456,iocharset=koi8-r,kodeside=866 //alex/lyd /mnt/lyd.

Hvis du ikke spesifiserer brukernavn og passord, vil systemet be deg om det. Ikke glem at ved å se på ~HOME/.bash_history-filen, kan du finne ut passordet basert på kommandoene du skrev. En annen subtilitet: hvis smbclient-programmet viser filer med russiske navn riktig, tar smbfs-modulen noen ganger ingen oppmerksomhet til annen koding, selv om du spesifiserer det eksplisitt. De sier at dette kan fikses med en lapp, men jeg har ikke funnet en til Red Hat ennå.

Hvis du vil at SMB-andelen skal monteres automatisk ved systemstart, legg til en linje som denne i /etc/fstab-filen din:

//gjest@alex/lyd /mnt/alex/lyd smbfs rw, noauto 0 0.

I dette eksemplet, på vegne av brukeren gjest(hvis ressursen støtter denne brukeren og hvis denne brukeren kun har tilgang med et passord, ikke bekymre deg: du vil sikkert bli bedt om det) lydnettverksressursen på alex-datamaskinen er montert i /mnt/alex/sound-mappen med muligheten til å skrive til denne katalogen. Forresten, Samba-klienten ser perfekt skjulte nettverksressurser, dvs. de hvis nettverksnavn slutter med et $-tegn.

Som du kan se, må du jobbe med kommandolinjen, som forårsaker stille skrekk for den moderne brukeren. Og her møtte OpenSource-verdenen ham halvveis – det er laget mange verktøy som lar deg jobbe med Samba-ressurser på en mer kjent måte, ved å trykke på knapper i grafiske skall. Det mest populære programmet inkludert i Mandrake-distribusjonen og dens derivater, samt Debian - gnomba. I alle fall kan den finnes på de fleste servere med Linux-programvare (jeg så den sikkert på ftp://ftp.altlinux.ru/). Dette verktøyet lar deg se tilgjengelige nettverksressurser () og, om nødvendig, montere dem i ønsket katalog, mens et monteringsalternativ er mulig ved å spesifisere pålogging og passord for de ressursene som krever det. Mulig lansering filbehandler når den er montert (standard gmc), opprette kataloger for monterte ressurser, angi muligheten for automatisk skanning ved programoppstart (mulig ved bruk av SMB-protokollen som standard) og skanning etter IP-adresser (planlagt ved bruk av WINS-protokollen). Av grunner som er ukjente for meg, i noen distribusjoner, ved skanning med SMB-protokollen, ble ikke nettverksressurser vist, så jeg bruker alltid den andre metoden, siden den fungerer feilfritt, trenger du bare å angi rekkevidden av IP-adresser for skanning (hvis du vet). For at russiske filnavn skal vises riktig, ikke glem å installere koi8-r-fontene i fanen Valg > Skriftvalg, og sjekk også linjene som indikerer den kyrilliske kodingen i smb.conf-filen (se ovenfor).

Hvis gnomba bare kan montere og avmontere ressurser, så programmet xsmbrowser Den lar deg også legge dem inn som mapper på den lokale datamaskinen (). Riktignok har jeg ennå ikke klart å få dette programmet til å forstå filer med russiske navn, men det er også positive aspekter: når dette programmet kjører, sendes alle monteringskommandoer og ulike nettverksforespørsler til konsollen, som lar deg forstå dem vel. KDE-utviklerne prøvde også: gjennom Innstillinger > Informasjon verktøy tilgjengelig Samba status, viser alle tilkoblinger til/fra lokal datamaskin, som også er et praktisk verktøy for å vise .log-filer. Verktøyet gir lignende informasjon komba, som finnes på http://linux.tucows.com/().

Så mye som jeg vil fortelle deg mer, et magasin er et magasin - du kan ikke få plass til alt. Deretter vil den allestedsnærværende mannen og informasjonen komme deg til unnsetning. Dessuten kan all nødvendig referanseinformasjon fås fra SWAT-verktøyet, og i Red Hat 7.3 var det en bok Using Samba Robert"a Eckstein"a(Engelsk språk - dårlig, helt gratis - bra: /usr/share/swat/using_samba), også tilgjengelig fra SWAT (). Ytterligere dokumentasjon, vanlige spørsmål og eksempler på konfigurasjonsfiler finner du i katalogen /usr/share/doc/samba. I ulike fora kan du finne ganske motstridende meninger om arbeidet til Samba, fra ekstremt negative til fullstendig glede. Personlig er jeg på siden av de som støtter dette. Windows-emulator NT, dessuten, ifølge testresultater med samme utstyr, viser Samba-serveren ytelse omtrent 25-30% høyere enn en datamaskin som kjører et system fra Microsoft. Lykke til.

Noen ganger må du veldig raskt sette opp en fildeling på serveren og åpne tilgang til den. I dette tilfellet er det ikke nødvendig å gjerde inn komplekse konfigurasjoner, tilgangsrettigheter eller noe annet. Du trenger bare rask tilgang til informasjon uten unødvendige spørsmål.

For eksempel trengte jeg nylig noe slikt for å åpne tilgang til sikkerhetskopier, som ble lagret på serveren. Jeg ville ikke finne ut av det og lete etter informasjon selv; jeg måtte raskt gi personen lesetilgang slik at han kunne finne alt han trengte.

Jeg vil ikke spesifikt ta for meg operativsystemversjoner. Sambas konfigurasjoner er de samme nesten overalt hvor jeg har jobbet med dem, spesielt i de enkleste konfigurasjonene.

Så installer samba med en hvilken som helst på en passende måte for din operativsystem. Konfigurasjonene er gyldige for versjon 3 av samba. Deretter bestemmer vi hva vi trenger:

  • tilgang med bruker og passord,
  • tilgang via IP-adresse,
  • tilgang til alle uten restriksjoner.

Avhengig av dette vil innstillingene være litt forskjellige.

For passordtilgang tegne følgende konfigurasjon:

Sikkerhet = brukerpassdb backend = tdbsam arbeidsgruppe = MYGROUP serverstreng = Samba-bane = /mnt/shara gyldige brukere = @brukere tvinge gruppe = brukere oppretter maske = 0660 katalogmaske = 0771 skrivbar = ja kan bla = ja

# useradd share-user -M -G users -s /sbin/nologin

Vi importerer denne brukeren til Samba og setter passordet:

# smbpasswd -en del-bruker

Og vi prøver å gå til ballet på adressen:

\\server ip\share

Å organisere tilgang avhengig av ip-adresse, gjør følgende innstillinger i smb.conf:

Sikkerhet = del arbeidsgruppe = MYGROUP serverstreng = Samba-kart til gjest = dårlig brukerbane = /mnt/filer kan søkes = ja skrivbar = ja gjest ok = ja skrivebeskyttet = ingen verter tillater = 192.168.0.171

I dette tilfellet full tilgang vil være på adressen 192.168.0.171. For å legge til hele undernettet, må du spesifisere følgende:

Verter tillater = 192.168.0.

Du kan kombinere forskjellige undernett og adresser, og separere dem med mellomrom. For å deaktivere tilgang til enkelte individuelle adresser fra et tillatt subnett, kan du gjøre dette:

Verter tillater = 192.168.0. unntatt 192.168.0.15

Tilgang vil tillates til hele undernettet 192.168.0.0/24, bortsett fra adressen 192.168.0.15.

Vi starter samba på nytt og sjekker.

Hvis du har installert samba 4, vil ikke denne konfigurasjonen fungere, og du vil få en feilmelding:

ADVARSEL: Ignorerer ugyldig verdi "share" for parameter "security" !}

For at IP-tilgang skal fungere skikkelig, må du gjøre følgende endringer i konfigurasjonen ovenfor:

Sikkerhet = brukerkart til gjest = Dårlig passord

La resten av parameterne være de samme. Etter dette vil tilgang via IP fungere på versjon 4 av Samba.

Hvis tilgang vil bli gitt til alle uten begrensninger, da vil den enkleste samba-konfigurasjonen være slik:

Sikkerhet = brukerarbeidsgruppe = MYGROUP serverstreng = Samba gjestekonto = ingen tilordner gjest = Dårlig brukerbane = /mnt/files bla gjennom = Ja gjest ok = Ja skrivbar = Ja offentlig = ja

Ikke glem å gi alle rettigheter til mappen:

# chmod 0777 /mnt/filer

Start Samba på nytt og prøv å logge på. De bør slippe deg inn uten noen spørsmål.

Slik kan du organisere en enkel filserver ved å bruke samba på bokstavelig talt 5 minutter. Og ofte er det mer komplisert og ikke nødvendig. For en slags fildump er det nyeste alternativet egnet.

For mer komplekse konfigurasjoner har jeg separate artikler:

Nettkurs i Linux

Hvis du har et ønske om å lære å bygge og vedlikeholde høyst tilgjengelige og pålitelige systemer, anbefaler jeg deg å sette deg inn i nettkurs "Linux Administrator" i OTUS. Kurset er ikke for nybegynnere, for opptak trenger du grunnleggende kunnskap om nettverk og Linux installasjon til den virtuelle maskinen. Opplæringen varer i 5 måneder, hvoretter vellykkede kurskandidater vil kunne gjennomgå intervjuer med partnere. Hva dette kurset vil gi deg:
  • Kjennskap til Linux-arkitektur.
  • Utvikling moderne metoder og dataanalyse- og prosesseringsverktøy.
  • Evne til å velge en konfigurasjon for de nødvendige oppgavene, administrere prosesser og sikre systemsikkerhet.
  • Beherske de grunnleggende arbeidsverktøyene til en systemadministrator.
  • Forståelse av detaljene ved distribusjon, konfigurering og vedlikehold av nettverk bygget på Linux.
  • Evnen til raskt å løse nye problemer og sikre stabil og uavbrutt drift av systemet.
Test deg selv på opptaksprøven og se programmet for flere detaljer.


Topp