Samba: fristående server på Debian

Hej kompisar!. Om vi ​​vill ha en oberoende server (Fristående) för att dela resurser antingen från vår arbetsstation; eller för en liten grupp maskiner; eller för ett LAN utan en domänkontrollant i Microsoft-stil är det enklast att göra det med Samba.

Det finns några grafiska verktyg för detta ändamål, liksom verktyget för att administrera Samba via webben «SWAT». I alla fall, vi rekommenderar till nybörjare som börjar i denna underbara värld manuellt. Det är inte så svårt eller djävulskt som många tror. Och i processen lär du dig mycket om SMB / CIFS-nätverk och om behörigheter och rättigheter på Linux-filsystem.

Innan du fortsätter rekommenderar vi att du läser:

Vi kommer inte att se hur man delar skrivare med Samba. För dem som vill använda denna svit för dessa ändamål rekommenderar vi att du läser medföljande dokumentation som anges i Samba: Nödvändig introduktion. Du kan också läsa artikeln CUPS: Hur man använder och konfigurerar skrivare på det enkla sättet.

Grundläggande punkter att tänka på

  • Trots all aura som omger Active Directories och deras domänkontrollanter, som vid flera tillfällen inte är nödvändiga eller dåligt utnyttjade, är installation och konfigurering av en oberoende Samba-server ett giltigt och pålitligt alternativ.
  • En oberoende server kan vara lika säker eller osäker enligt våra behov, och vi kan konfigurera den på ett enkelt eller komplext sätt.
  • Användarautentisering utförs på själva servern där resurserna finns.
  • För att en användare ska kunna komma åt resurser från en fjärrdator måste de också vara registrerade i Samba-användarbasen.
  • Vi kan bara lägga till de användare som redan finns på vår server eller stationära dator i Samba-användardatabasen.
  • En fristående Samba-server tillhandahåller INTE nätverksinloggning, som en domänkontrollant gör. Det ger inte heller inloggning på en domän.
  • Ju mindre vi ändrar och / eller lägger till parametrar i filen /etc/smb.conf Utan att först veta i detalj vad vi vill uppnå blir det mycket bättre.
  • Resursdelningstjänsten i Samba fungerar på Linux-filsystemet, inklusive dess inneboende säkerhet. Många problem löses genom att ta hänsyn till fil- och katalogbehörigheter.
  • Det är viktigt att förstå hur man hanterar filsystemets beteende från filen smb.conf, samt att förstå hur UNIX / Linux-filsystemets säkerhet fungerar.
  • Vi rekommenderar att du inte använder accenter, eñes eller mellanslag i namnen på mappar och delade resurser. Använd helst små bokstäver för namn.
  • Dela namn kan inte upprepas på ett LAN. Varje namn är unikt.
  • Om det inte finns någon WINS-server i vårt LAN kan vi få vår Samba att agera som sådan genom att lägga till i «global»Från filen smb.conf parametern vinner support = Ja., vilket rekommenderas starkt.

Provserver

namn: miwheezy. Domän: vänner.cu. IP: 10.10.10.20. Användare: xeon, zeus och triton. Ytterligare grupper: räknare

installation

Via Synaptic eller via konsolen installerar vi paketet samba.

sudo aptitude installera samba

Det är mycket användbart att också installera paketet smbclient. Vi kommer att använda den för kontroller.

I processen kommer paketen att installeras - men vi har tidigare installerat några andra relaterade till Suite- samba, samba-vanligt, samba-common-bin y tdb-verktyg. Dessutom skapas filen /etc/samba/smb.conf. Den här filen skapas så länge paketen är installerade samba-vanligt y samba-common-bin, och det kommer inte att tas bort från systemet förrän vi avinstallerar dem.

Filen smb.conf är den viktigaste i Samba Suite

Samba har ett stort antal konfigurationsalternativ, varav de flesta inte visas i exemplet med smb.conf som installeras som standard. Alternativen kommenterade med en «;»Anses vara tillräckligt viktiga för att visa och deras standardvärden skiljer sig från standardinställningarna för Samba-beteende. Konfigurationsalternativen kommenterade med en «#«, Har Samba-standardvärden och anses också vara viktiga att visa.

Om vi ​​vill se innehållet i filen utan att överväga de kommenterade alternativen antingen med «;"eller med"#«, Vi måste köra:

 egrep -v '# |; | ^ * $' /etc/samba/smb.conf

Om vi ​​vill se innehållet i filen utan att överväga de alternativ som kommenteras med «#«, Vi måste köra:

egrep -v '# | ^ * $' /etc/samba/smb.conf

Det första vi måste göra är en kopia av filen /etc/samba/smb.conf. I själva filen hittar vi det sätt på vilket Samba rekommenderar att man gör en arbetskopia, som vi beskriver nedan. Som rot vi utför:

cd / etc / samba mv smb.conf smb.conf.master testparm -s smb.conf.master> smb.conf
root @ miwheezy: / etc / samba # ls -l
totalt 32 -rw-r - r-- 1 rotrot 8 nov 10 2002 gdbkommandon -rw-r - r-- 1 rotrot 805 aug 4 12:05 smb.conf -rw-r - r-- 1 root root 12173 4 aug 12:05 smb.conf.master

Lägg märke till skillnaden i storlek mellan smb.conf som genereras på detta sätt och originalet. Eftersom storleken är mindre ökar prestandan på servern enligt det som anges av Samba Team.

Det ursprungliga innehållet i filen /etc/samba/smb.conf Det kommer att vara (kom ihåg att vi inte kommer att utveckla skrivardelning):

[global]
        arbetsgrupp = FRIENDS netbios namn = MIWHEEZY säkerhet = användare
        serversträng =% h serverkarta till gäst = Dålig användare följer pam-begränsningar = Ja pam-lösenordsändring = Ja lösenordsprogram = / usr / bin / passwd% u passwd chat = * Ange \ snew \ s * \ spassword: *% n \ n * Skriv in \ snew \ s * \ spassword $ unix lösenord sync = Ja syslog = 0 loggfil = /var/log/samba/log.%m max loggstorlek = 1000 dns proxy = Ingen användardel tillåter gäster = Ja panikåtgärd = / usr / share / samba / panic-action% d idmap config *: backend = tdb [hem] kommentar = Hemkataloger giltiga användare =% S skapa mask = 0700 katalogmask = 0700 webbläsbar = Nej

Värdena som är markerade med fetstil är de enda som vi först måste ändra. Observera att trots att vi är Sambas standardbeteende har vi uttryckligen förklarat alternativet säkerhet = användare med tanke på dess stora betydelse.

Om det inte finns någon WINS-server i vårt LAN kan vi få vår Samba att agera som sådan genom att lägga till i «global»Från filen smb.conf parametern vinner support = Ja., vilket rekommenderas starkt.

gyllene regel: Ju mindre vi ändrar och / eller lägger till parametrar i filen smb.conf utan att först veta i detalj vad vi vill uppnå, desto bättre blir det.

Här är en kort sammanfattning av några av alternativen som visas. För mer information, vänligen kör man smb.konf.

  • arbetsgrupp: Kontroller i vilken arbetsgrupp utrustningen kommer att visas när du skapar en webbläsare. Denna parameter styr också domännamnet när du arbetar med alternativet säkerhet = domän och där teamet går med i en domän. Vi kommer att se det i senare artiklar. Standardvärdet är ARBETSGRUPP.
  • netbios namn: Ställer in NetBIOS-namnet som Samba-servern kommer att kännas för i nätverket. Som standard är det samma som den första komponenten i FQDN från värden. I vårt exempel FQDN av laget är miwheezy.amigos.cu. Vi kan använda ett annat namn än värden för vår Samba-server. I så fall är det lämpligt att inkludera en CNAME-post i vår DNS.
  • säkerhet: Parameter som påverkar hur klienter svarar på Samba och är en av de viktigaste i filen smb.conf. Standardvärdet är användare.
  • serversträng: Kontrollerar vilket namn som visas i kommentarerna som visas i en webbläsare bredvid lagets namn.
  • karta till gäst: Parameter som endast är användbar när den är inställd säkerhet = användare o säkerhet = domän. Värdet "Dålig användare" säger till Samba att avvisa ett ogiltigt lösenord, såvida inte användaren INTE finns, i vilket fall de kommer att behandlas som gäst eller "gäst«. Om vi ​​inte vill tillåta gästsessioner måste vi ändra dess värde till Aldrig, vilket är exakt standardvärdet, och ändra också parametern användardel tillåter gäst a Nej, vilket också är standardvärdet.
  • följ pam-begränsningar: Kontrollerar om Samba måste följa PAM: s egna begränsningar eller inte «Anslutningsbar autentiseringsmodul«, När det gäller direktiven för administration av användarkonton och sessioner. Standardvärdet är Nej.
  • ändra pam-lösenord: Ber Samba att använda PAM för lösenordsändringar som begärs av en SMB-klient. Standardvärdet är Nej.
  • passwd-program: Program som används för att ställa in UNIX-lösenord för användare.
  • passwd chatt: Kedja som styr konversationen som äger rum mellan demonen smbd och det lokala programmet för lösenordsändring som definierats i föregående parameter.
  • unix lösenordssynkronisering: Ber Samba att synkronisera SMB-lösenordet med UNIX-lösenordet, så länge det tidigare ändras. Standardvärdet är Nej.
  • giltiga användare: Lista över användare som får logga in på en delning.

Starta om eller ladda om Samba-tjänsten

När vi gör betydande förändringar, särskilt i avsnittet «[global]" av smb.confmåste vi starta om tjänsten. Om vi ​​redan har användare anslutna till vår server kommer vi att koppla bort dem varje gång vi startar om Samba. Det är därför och praktiskt taget från och med nu kommer vi endast att ladda om tjänsten när vi lägger till eller ändrar delade resurser. För att starta om tjänsten kör vi som rot:

tjänsten samba startar om

Så här laddar du upp tjänsten:

service samba ladda om

Vi lägger till användarna i systemet och i Samba-användardatabasen

Vi kan bara lägga till de användare som redan finns på vår lokala server i Samba-användardatabasen.

I vårt exempel, användaren xeon det lades till under Wheezy-installationen. Därför lägger vi inte till teamanvändarna. Användargruppen finns i systemet och skapades under installationen.

Några kommandoalternativ smbpasswd ljud:

  • -a: Lägg till den angivna användaren till den lokala filen smbpasswd.
  • -x: Den angivna användaren måste tas bort från den lokala filen smbpasswd. Endast tillgängligt när smbpasswd springer som rot.
  • -d: Det angivna användarkontot måste inaktiveras. Endast tillgängligt när smbpasswd springer som rot.
  • -e: Mittemot alternativet -d så länge användarens konto är inaktiverat.

För att skapa användare i vårt team gör vi det med det välkända kommandot Lägg till användare.

adduser zeus adduser triton

För att skapa gruppen räknare:

addgroup-räknare

Så här lägger du till användare i Samba-databasen:

smbpasswd -en rot
smbpasswd -a xeon smbpasswd -a zeus smbpasswd -a triton

Vi går med i gruppen räknare till de användare vi vill ha:

adduser xeon-räknare adduser zeus-räknare adduser triton-räknare

Det rekommenderas att gå med i varje användare som skapas i gruppen användare, om vi vill bevilja behörigheter till alla användare som vi har skapat, på en specifik resurs. Ett enklare sätt att ansluta flera användare till en grupp är att direkt redigera filen / etc / gruppoch lägga till listan över användare åtskilda med ett komma. De kan vägledas av gruppen räknare. Vi antar att vi går med i användarna till gruppen användare.

På en arbetsstation för att ta bort användare som skapats med Lägg till användare, vi måste redigera filen /etc/gdm3/greeter.gsettings och avmarkera alternativet disable-user-list = true, så att INGEN användarlista visas när du loggar in. Detta är standardbeteendet för alla Windows-klientdatorer som är anslutna till en domän.

På samma sätt, om vi vill att de skapade användarna inte ska starta en fjärrsession genom ssh, vi redigerar filen / Etc / ssh / sshd_config och lägg till instruktionen i slutet av filen Tillåt användare. exempel:

[....] # och ChallengeResponseAuthentication till 'no'. UsePAM ja AllowUsers xeon

Vi lägger till delade resurser

1 exempel: Vi vill dela mappen / hem / xeon / musik för alla registrerade användare. Tillståndet är skrivskyddat. Först och främst skapar vi mappen / hem / xeon / musik och vi konfigurerar dess ägare och behörigheter vid behov. Som användare Xeon vi utför:

mkdir / home / xeon / musik ls -l / home / xeon | grep-musik

Sedan i slutet av filen smb.conf vi lägger till följande:

[music-xeon] comment = Personlig musikmappsökväg / / home / xeon / music read only = Ja giltiga användare = @användares läslista = @användare

Efter ändringarna i filen kör vi testparm som användare xeon och vi laddar upp tjänsten som rot. Vi kan också köra båda kommandona som rot:

testparm service samba reload

För att kontrollera den nyligen konfigurerade tjänsten kan vi göra det genom att utföra följande kommando på själva datorn:

smbclient -L localhost -U%

2 exempel: Vi vill dela mappen / hem / xeon / musik för alla registrerade användare. Behörigheterna kommer att läsas / skrivs för xeon och skrivskyddad för resten av de användare som tillhör gruppen användare. Vi behöver inte ändra ägaren eller behörigheterna i mappen. Vi ändrar bara delningsinställningarna lite i filen smb.conf.

[music-xeon] comment = Sökväg till personlig musikmapp = / home / xeon / music read only = Inga giltiga användare = @users skrivlista = xeon read list = @users

3 exempel: Vi vill dela mappen / hem / xeon / redovisning för användargrupp räknare. Alla gruppmedlemmar har läsbehörighet. Användarna triton y Zeus de kommer att kunna skriva till den delade mappen.

Nu om vi måste ändra ägaren och behörigheterna för mappen redovisning efter att de har skapats så att de kan skriva triton y Zeus som är medlem i gruppen räknare. Vi måste också se till att den senaste användaren som skapar eller ändrar en fil inte blir dess absoluta ägare, så att den kan modifieras av andra användare med skrivbehörighet.

Det är viktigt att förstå hur man hanterar filsystemets beteende från smb.conf, samt att förstå hur UNIX / Linux-filsystemets säkerhet fungerar.

I dessa fall måste vi:

  • Förklara när det är bekvämt vem som ska vara ägare och vem som kommer att vara ägargrupp för den delade katalogen.
  • Tillåt skrivning till den delade katalogen av ägargruppen.
  • Förklara lite SGID (Ställ in grupp-ID) av katalogen under skapandet.
  • Förklara korrekt i filen smb.conf sätten att skapa filer och kataloger inom vår delade resurs.

En enkel och möjlig lösning i praktiken kommer vi att ha om vi utför som rot:

mkdir / hem / xeon / redovisning chown -R root: räknare / hem / xeon / redovisning chmod -R g + ws / hem / xeon / redovisning ls -l / hem / xeon

Och vi lägger till följande i slutet av filen smb.conf:

[redovisning] kommentar = Mapp för revisors sökväg = / hem / xeon / redovisning skrivskyddad = Inga giltiga användare = @ revisorer skrivlista = triton, zeus läslista = @ revisorer tvingar skapa läge = 0660 kraftkatalogläge = 0770

Vi kontrollerar omedelbart den grundläggande syntaxen för smb.conf genom testparm och vi laddar upp tjänsten igenom service samba ladda om. Vi kan också springa smbclient -L localhost -U%. på den lokala servern och smbclient -L miwheezy -U% o smbclient -L mywheezy.friends.cu -U% från fjärrdatorn.

Tiden är att från en fjärrdator ansluter vi till den delade resursen och gör alla nödvändiga tester. Det rekommenderas att kontrollera hur användaren som äger mapparna och filerna ändras när de skapas inom resursen.

Viktigt: Användaren rot eller användaren xeon och i allmänhet alla medlemmar i gruppen räknare, kan du skriva från en lokal session som startas på samma dator eller av sshutan att använda SMB / CIFS-protokollet. Om du skapar en mapp eller fil lokalt, kom ihåg att tilldela rätt behörigheter igen. Kolla in ls-l. Att inte göra ovanstående är källan till mycket förvirring.

Vänner, förlåt mig längden på artikeln och jag hoppas att det kommer att vara till nytta för dig. Fram till nästa äventyr!


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

26 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   elav sade

    Utmärkt som alltid. Dessa typer av artiklar uppskattas när vi arbetar med servrar. 😉

  2.   Julio Cesar sade

    Mycket bra freeke men för mig är det bättre att använda FreeNAS för den typen av saker
    😉

  3.   Federico Antonio Valdes Toujague sade

    Tack för dina kommentarer!!!. Freeke, FreeBSDs FreeNAS är en annan vild historia och jag kan ägna en artikel åt den. I slutändan är det Samba över FreeBSD.

  4.   Erick sade

    Mycket bra inlägg måste jag säga, som jag alltid har sagt om du hade lagt upp detta för några år sedan, skulle det ha sparat många problem, men det är bra att någon är intresserad av att visa hur man konfigurerar samba, hälsningar

    1.    Federico Antonio Valdes Toujague sade

      Som man säger "det är aldrig sent om lycka är bra" och det andra "det är bättre sent än aldrig." Tack för kommentaren. Jag började använda Samba tror jag runt 2007. Hittills hade jag inte kunnat skicka något om det.

      1.    Erick sade

        På samma sätt har jag använt samba nästan samma tid, men jag ser att du har perfektionerat mycket och du har rätt i att "det är aldrig för sent om lycka är bra", det verkade för mig, jag måste säga att det är väldigt bra att någon delar sin kunskap, många Ibland uppmuntras man inte eller har inte tid, i mitt fall är det den första, hälsningar

  5.   Giskard sade

    Friend @fico, jag gillar verkligen dina artiklar. De är extremt väl förklarade och detaljerade. Tack.

    1.    Federico Antonio Valdes Toujague sade

      Jag hoppas att de är användbara för dig. Det är syftet !!!.

      1.    Giskard sade

        Ja, det är 🙂

        Förresten såg jag just din artikel publicerad på en annan sida (http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html) och referensen till källan är väldigt liten. Det är inte gjort. Meriter som förtjänar det, fan! Jag vet inte om de härifrån kan be de människorna att göra stor skillnad vem som gör saker. För det otränade ögat skulle det passera som om de skapade det och publicerade det.

  6.   oscar sade

    Herr författare till inlägget, vad händer om du skapar en artikel om hur man delar filer via samba för vanliga användare, jag menar något mindre omfattande och mer grafiskt, till exempel hur man delar från Linux till Linux och från Linux till Windows men inte från en så professionellt sätt men gillar att dela filer mellan datorer hemma.

    1.    Federico Antonio Valdes Toujague sade

      I det fallet rekommenderar jag att du använder ssh för Linux - Linux och winscp för Windows - Linux. Det finns flera artiklar på samma sida.
      Samma inlägg, även om det kan verka komplicerat, om du kopierar och klistrar in de få kommandona det innehåller, fungerar det också för ett hemnätverk.

      1.    eliotime3000 sade

        Även om det vore mer praktiskt att använda SMB / CIFS-systemet för att använda samma fildelningsprotokoll för Windows (eller delade mappar för kort).

        Jag kommer att göra mina experiment för att kunna göra en handledning om hur man skapar en delad mapp i GNU / Linux (i mitt fall Debian Wheezy) så att Windows-nätverk känner igen den som en delad mapp.

  7.   en nivå sade

    mycket bra och längden är värt det, men kanske bör du nämna oslevel-parametern tidigt innan du interagerar med windows.
    hälsningar

    1.    Federico Antonio Valdes Toujague sade

      Observera att det är ett nätverk utan Windows Domain Controller. Vi kommer att använda den parametern när vi hanterar en maskin som är ansluten till en domän.

  8.   senaste nybörjaren sade

    när jag har lite tid kommer jag att göra det
    [offtopic] Jag skulle vilja lägga upp GIMP-självstudier. Det kan?
    [/ orelevant]

  9.   Federico Antonio Valdes Toujague sade

    Vän @ giskard, jag besökte precis http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html, och jag såg ingen hänvisning till det här inlägget. De gjorde en kopia / klistra in på kinden, Hahahahahaha. Det visar att inlägget åtminstone är av god kvalitet. Jag säger nej? Hahahahahaha.

    1.    Giskard sade

      Nära slutet i små bokstäver finns länken som säger "källa" och pekar på den här webbplatsen. Men att ha gjort det verkar för mig en total missnöje och brist på respekt. Lyckligtvis vet vi här vem författaren är 🙂

    2.    Julius Caesar sade

      De sätter referensen men det kan knappast märkas att de var tvungna att ha nämnt i början av artikeln

  10.   truko22 sade

    I arch wiki står det att från och med version 3.4 rekommenderas att använda pdbedit istället för smbpasswd.

    En fråga, enligt en vän, innan en användare läggs till i Samba måste en användare skapas i systemet men med / bin / false
    useradd -s / bin / false myuser
    Är 0.o sant?

  11.   Federico Antonio Valdes Toujague sade

    Friend @ truko22, och i allmänhet, för dem som ställer liknande frågor. Kom ihåg att vi alltid har sagt att vi bara ger en Inkörsport till ämnet. Vi rekommenderar också att du läser medföljande dokumentation. I slutändan är anpassningen av tjänsten ansvaret för den som implementerar den, på ett sätt som svarar på deras behov och den säkerhetsnivå som uppfyller dem.

    Tillståndsproblemet kan till exempel undvikas om vi tillåter någon att skriva till aktien med chmod 777. Naturligtvis är det inte en säker lösning.

    Du kan förhindra att användaren startar en lokal session eller via ssh om vi skapar den genom adduser-användare - skal / bin / falsk. Med andra ord kan användaren som skapas sålunda inte komma åt en terminal eller konsol.

    Med andra ord kan Samba konfigureras på många sätt, allt från det enklaste till det mest komplexa.

    Vad händer?. Om vi ​​skriver inlägget utan att tillåta användare som läggs till i Samba att logga in lokalt kommer de säkert att fråga varför. Det är därför vi föredrar att skriva det på ett så klassiskt sätt som möjligt och låta alla dra sina slutsatser.

    @ truko22, tack för att du gav mig rätt poäng att kommentera tidigare !!!

    1.    truko22 sade

      Tack så mycket, nu förstår jag 😀 om –shell / bin / false

  12.   Federico Antonio Valdes Toujague sade

    Vän @ truko22, jag glömde bort pdbedit. Sedan Etch blev jag van vid att använda smbpasswd. Detta kommando kan utföras av alla användare i systemet, och dess beteende och resultat varierar. pdbedit, kan också användas, men kan endast åberopas av rotanvändaren.

    Om Samba kan du skriva hela artiklar på många av dess kommandon.

  13.   leo sade

    Det är mycket bra!!
    hälsningar

  14.   marcos sade

    Mycket bra artikel. Grattis och tack för ett sådant bidrag

  15.   joseuzin sade

    Jag ville fråga dig om det fanns en artikel om samba som domänkontrollant och om den redan kan kontrollera domänen med grupprinciper som en Windows-server, menar jag att förhindra att nätverksadressernas egenskaper ändras, med hjälp av pendrives etc.

  16.   Ricardo Mejias sade

    Hej, hur är det med Fico, jag har installerat Samba 3.6 med LDAP och LAM 3.7 - Jag skulle vilja veta om du vet hur du tillåter användare att ändra lösenordet när de börjar avsnittet eftersom det säger till mig "du har inte behörighet att ändra ditt lösenord" hälsningar ...