Samba (programvare) - Samba (software)

Samba
Samba logo 2010.svg
Første utgivelse 1992 ; 29 år siden ( 1992 )
Stabil utgivelse
4.15  Rediger dette på Wikidata / 20. september 2021 ; 21 dager siden ( 20. september 2021 )
Oppbevaringssted
Skrevet inn C , Python
Operativsystem Multiplattform
Type Nettverksfilsystem
Tillatelse GPLv3
Nettsted www .samba .org

Samba er en fri programvare re-implementering av SMB nettverksprotokoll , og ble opprinnelig utviklet av Andrew Tridgell . Samba gir fil- og utskriftstjenester for ulike Microsoft Windows -klienter og kan integreres med en Microsoft Windows Server domene , enten som en Domain Controller (DC) eller som et domenemedlem. Fra versjon 4 støtter den Active Directory og Microsoft Windows NT -domener.

Samba kjører på de fleste Unix-lignende systemer, for eksempel Linux , Solaris , AIX og BSD- variantene, inkludert Apples macOS Server og macOS- klient ( Mac OS X 10.2 og nyere). Samba kjører også på en rekke andre operativsystemer som OpenVMS og IBM i . Samba er standard på nesten alle distribusjoner av Linux og er også inkludert som en grunnleggende systemtjeneste på andre Unix-baserte operativsystemer. Samba er utgitt under vilkårene i GNU General Public License . Navnet Samba kommer fra SMB ( Server Message Block ), navnet på den proprietære protokollen som brukes av Microsoft Windows nettverksfilsystem.

Tidlig historie

Andrew Tridgell utviklet den første versjonen av Samba Unix i desember 1991 og januar 1992, som doktorgradsstudent ved Australian National University , ved å bruke en pakkesniffer til å gjøre nettverksanalyse av protokollen som ble brukt av DEC Pathworks serverprogramvare. På tidspunktet for de første utgivelsene, versjon 0.1, 0.5 og 1.0, alle fra første halvdel av januar 1992, hadde den ikke et riktig navn, og Tridgell kalte det bare "en Unix -filserver for Dos Pathworks". På tidspunktet for versjon 1.0 innså han at han "faktisk hadde implementert netbios -protokollen" og at "denne programvaren kunne brukes med andre PC -klienter".

Med fokus på interoperabilitet med Microsofts LAN Manager , ga Tridgell ut "netbios for unix", observatør, versjon 1.5 i desember 1993. Denne versjonen var den første som inkluderte klient-programvare så vel som en server. På dette tidspunktet ble GPL2 også valgt som lisens.

Midtveis i 1.5-serien ble navnet endret til smbserver . Imidlertid fikk Tridgell en varemerkemelding fra selskapet "Syntax", som solgte et produkt ved navn TotalNet Advanced Server og eide varemerket for "SMBserver". Navnet "Samba" ble avledet ved å kjøre Unix -kommandoen grep gjennom systemordboken og se etter ord som inneholdt bokstavene S, M og B, i den rekkefølgen (dvs. ). grep -i '^s.*m.*b' /usr/share/dict/words

Versjonene 1.6, 1.7, 1.8 og 1.9 fulgte relativt raskt, og sistnevnte ble utgitt i januar 1995. Tridgell vurderer vedtakelsen av CVS i mai 1996 for å markere fødselen til Samba -teamet, selv om det hadde vært bidrag fra andre mennesker, spesielt Jeremy Allison , tidligere.

Versjon 2.0.0 ble utgitt i januar 1999, og versjon 2.2.0 i april 2001.

Versjonshistorikk

Versjon 3.0.0, utgitt 23. september 2003, var en stor oppgradering. Samba fikk muligheten til å bli medlem av Active Directory som medlem, men ikke som en domenekontroller. Påfølgende punktutgivelser til 3.0 har lagt til mindre nye funksjoner. Foreløpig er den siste utgaven i denne serien 3.0.37, utgitt 1. oktober 2009 og sendt på frivillig basis. 3.0.x-serien nådde offisielt slutten av livet 5. august 2009.

Versjon 3.1 ble bare brukt til utvikling.

Med versjon 3.2 bestemte prosjektet seg for å gå over til tidsbaserte utgivelser. Nye store utgivelser, for eksempel 3.3, 3.4, etc. vil dukke opp hvert halvår. Nye funksjoner vil bare bli lagt til når en større utgivelse er utført, punktutgivelser vil bare være for feilrettinger. 3.2 markerte også en endring av lisens fra GPL2 til GPL3, med noen deler utgitt under LGPL3. Den viktigste tekniske endringen i versjon 3.2 var å autogenere mye av DCE/RPC -koden som tidligere ble håndlaget. Versjon 3.2.0 ble utgitt 1. juli 2008. og den nåværende versjonen er 3.2.15 fra 1. oktober 2009. 3.2.x-serien nådde offisielt slutten av levetiden 1. mars 2010.

Dato Versjon Beskrivelse
23. september 2003 Gammel versjon, ikke lenger vedlikeholdt: 3.0 Active Directory -støtte
1. juli 2008 Gammel versjon, ikke lenger vedlikeholdt: 3.2 Den oppdateres kun etter behov for sikkerhetsspørsmål
27. januar 2009 Gammel versjon, ikke lenger vedlikeholdt: 3.3
3. juli 2009 Gammel versjon, ikke lenger vedlikeholdt: 3.4 Dette var den første utgivelsen som inkluderte både Samba 3 og Samba 4 kildekoden.
1. mars 2010 Gammel versjon, ikke lenger vedlikeholdt: 3.5 Dette var den første utgivelsen som inkluderte eksperimentell støtte for SMB2 .
9. august 2011 Gammel versjon, ikke lenger vedlikeholdt: 3.6 Dette er den første grenen som inkluderer full støtte for SMB2.
11. desember 2012 Gammel versjon, ikke lenger vedlikeholdt: 4.0 Det er en viktig omskriving som gjør det mulig for Samba å være en Active Directory -domenekontroller som deltar fullt ut i et Windows Active Directory -domene. Den første tekniske forhåndsvisningen (4.0.0TP1) ble utgitt i januar 2006 etter 3 års utvikling.
10. oktober 2013 Gammel versjon, ikke lenger vedlikeholdt: 4.1 støtte for SMB3
4. mars 2015 Gammel versjon, ikke lenger vedlikeholdt: 4.2 Btrfs basert filkomprimering, snapshots og Winbind integrering
8. september 2015 Gammel versjon, ikke lenger vedlikeholdt: 4.3 Nye loggfunksjoner, støtte for SMB 3.1.1
22. mars 2016 Gammel versjon, ikke lenger vedlikeholdt: 4.4 Asynkrone spyleforespørsler
7. september 2016 Gammel versjon, ikke lenger vedlikeholdt: 4.5 NTLM v1 deaktivert som standard, virtuell listevisning, forskjellige ytelsesforbedringer
7. mars 2017 Gammel versjon, ikke lenger vedlikeholdt: 4.6 Multi-prosess Netlogon- støtte
21. september 2017 Gammel versjon, ikke lenger vedlikeholdt: 4.7 Samba AD med MIT Kerberos
13. mars 2018 Gammel versjon, ikke lenger vedlikeholdt: 4.8 Støtte for Apple Time Machine . Oppsett som bruker sikkerhetsmodusene "domene" eller "annonser" krever nå at "winbindd" kjøres.
13. september 2018 Gammel versjon, ikke lenger vedlikeholdt: 4.9 Mange endringer: se utgivelsesnotater
19. mars 2019 Gammel versjon, ikke lenger vedlikeholdt: 4.10
17. september 2019 Gammel versjon, ikke lenger vedlikeholdt: 4.11 SMB1 er deaktivert som standard for å redusere WannaCry -sårbarheten.
3. mars 2020 Gammel versjon, ikke lenger vedlikeholdt: 4.12
22. september 2020 Eldre versjon, men likevel vedlikeholdt: 4.13 Samba 4.13 øker minimumsversjonen av Python til 3.6.
9. mars 2021 Eldre versjon, men likevel vedlikeholdt: 4.14 Stor overhaling av VFS -delsystem og mer, se utgivelsesnotater .
20. september 2021 Gjeldende stabil versjon: 4.15 Mange endringer, se utgivelsesnotater .
Legende:
Gammel versjon
Eldre versjon, fortsatt vedlikeholdt
Siste versjon
Siste forhåndsversjon
Fremtidig utgivelse

Sikkerhet

Noen versjoner av Samba 3.6.3 og lavere lider av alvorlige sikkerhetsproblemer som kan tillate anonyme brukere å få root -tilgang til et system fra en anonym tilkobling, gjennom utnyttelse av en feil i Sambas eksterne prosedyreoppringning .

April 2016 ble Badlock, en avgjørende sikkerhetsfeil i Windows og Samba, avslørt. Badlock for Samba refereres til av CVE - 2016-2118 (SAMR og LSA -mann i midten angrep mulig).

24. mai 2017 ble det kunngjort at det var funnet et sårbarhet for ekstern kjøring av kode i Samba ved navn EternalRed eller SambaCry , som påvirker alle versjoner siden 3.5.0. Dette sikkerhetsproblemet ble tildelt identifikator CVE - 2017-7494 .

September 2020 ble en proof-of-concept utnyttelse av netlogon- sårbarheten kalt Zerologon ( CVE - 2020-1472 ) som det finnes en oppdatering for siden august, publisert. Noen føderale byråer som bruker programvaren har blitt beordret til å installere oppdateringen.

Funksjoner

Samba tillater deling av filer og utskrifter mellom datamaskiner som kjører Microsoft Windows og datamaskiner som kjører Unix. Det er en implementering av dusinvis av tjenester og et dusin protokoller, inkludert:

  • NetBIOS over TCP/IP ( NBT )
  • SMB (kjent som CIFS i noen versjoner)
    • Samba støtter POSIX -utvidelser for CIFS/SMB. Den første utvidelsen var CIFS VFS (CAP_UNIX) fra 2004, som har blitt noe erstattet av SMB3.
  • DCE/RPC eller mer spesifikt, MSRPC , Network Neighborhood -pakken med protokoller
  • En WINS -server, også kjent som en NetBIOS Name Server (NBNS)
  • NT Domain -pakken med protokoller som inkluderer NT Domain Logons
  • Security Account Manager (SAM) database
  • Local Security Authority (LSA) -tjeneste
  • Utskriftstjeneste i NT-stil (SPOOLSS)
  • NTLM
  • Active Directory -pålogging med modifiserte versjoner av Kerberos og LDAP
  • DFS -server

Alle disse tjenestene og protokollene blir ofte feilaktig referert til som bare NetBIOS eller SMB. NBT (NetBIOS over TCP/IP) og WINS -protokollene, og deres underliggende SMB versjon 1 -protokoll, blir utdatert på Windows. Siden Windows Vista har WS-Discovery- protokollen blitt inkludert sammen med SMB2 og dens etterfølgere, som erstatter disse. (WS-Discovery implementeres på Unix-lignende plattformer av tredjeparts demoner som gjør at Samba-aksjer kan oppdages når de utdaterte protokollene er deaktivert).

Samba setter opp nettverksaksjer for utvalgte Unix -kataloger (inkludert alle underkataloger). Disse vises for Microsoft Windows -brukere som vanlige Windows -mapper som er tilgjengelige via nettverket. Unix -brukere kan enten montere delingene direkte som en del av filstrukturen ved hjelp av kommandoen mount.cifs eller alternativt bruke et verktøy, smbclient (libsmb) installert med Samba for å lese aksjene med et lignende grensesnitt til en standard kommandolinje FTP program. Hver katalog kan ha forskjellige tilgangsrettigheter overlagt de vanlige Unix -filbeskyttelsene. For eksempel: hjemmekataloger ville ha lese-/skrivetilgang for alle kjente brukere, slik at hver enkelt kunne få tilgang til sine egne filer. Imidlertid ville de fortsatt ikke ha tilgang til andres filer med mindre den tillatelsen normalt eksisterer. Vær oppmerksom på at netlogon -andelen, vanligvis distribuert som en skrivebeskyttet deling fra /etc/samba/netlogon , er påloggingskatalogen for brukerens påloggingsskript.

Samba -tjenester implementeres som to demoner :

  • smbd, som tilbyr fil- og skriverdelingstjenester, og
  • nmbd, som tilbyr tjenesten NetBIOS-til-IP-adresse. NetBIOS over TCP/IP krever en metode for å kartlegge NetBIOS -datamaskinnavn til IP -adressene til et TCP/IP -nettverk.

Samba -konfigurasjon oppnås ved å redigere en enkelt fil (vanligvis installert som /etc/smb.conf eller /etc/samba/smb.conf ). Samba kan også tilby brukerpåloggingsskript og implementering av gruppepolicyer gjennom poledit .

Samba er inkludert i de fleste Linux -distribusjoner og startes under oppstartsprosessen. På Red Hat, for eksempel, kjører /etc/rc.d/init.d/smb -skriptet ved oppstart, og starter begge demonene. Samba er ikke inkludert i Solaris 8, men en Solaris 8-kompatibel versjon er tilgjengelig fra Samba-nettstedet. Den OS / 2 -baserte ArcaOS inkluderer Samba å erstatte den gamle IBM LAN Server programvare.

Samba inkluderer et webadministrasjonsverktøy kalt Samba Web Administration Tool (SWAT). SWAT ble fjernet fra og med versjon 4.1.

Samba TNG

Samba TNG (The Next Generation) ble forked i slutten av 1999, etter uenigheter mellom Samba Team -lederne og Luke Leighton om retningslinjene for Samba -prosjektet. De klarte ikke å komme til enighet om en utviklingsovergangsbane som tillot forskningsversjonen av Samba han utviklet (den gang kjent som Samba-NTDOM) sakte å bli integrert i Samba. Utviklingen har vært minimal på grunn av mangel på utviklere. Samba TNG -teamet rettet potensielle brukere ofte mot Samba på grunn av bedre støtte og utvikling.

Et sentralt mål for Samba TNG -prosjektet var å skrive om alle NT Domains -tjenestene som FreeDCE -prosjekter. Dette ble vanskeliggjort ettersom tjenestene ble utviklet manuelt gjennom nettverks reverse engineering, med begrenset eller ingen referanse til DCE/RPC-dokumentasjon.

En sentral forskjell fra Samba var i implementeringen av NT Domains -pakken med protokoller og MSRPC -tjenester. Samba gjør alle NT -domenetjenestene tilgjengelige fra ett sted, mens Samba TNG atskilt hver tjeneste til sitt eget program.

ReactOS begynte å bruke Samba TNG -tjenester for SMB -implementering. Utviklerne av begge prosjektene var interessert i å se Samba TNG -designet brukes til å få ReactOS til å snakke med Windows -nettverk. De jobbet sammen for å tilpasse nettverkskoden og bygge systemet. Den flerlags og modulære tilnærmingen gjorde det enkelt å overføre hver tjeneste til ReactOS.

Se også

Referanser

Eksterne linker