Samba (software)

Uit Wikipedia, de vrije encyclopedie
Samba
Logo
Samba logo
Ontwikkelaar(s) Het Samba Team
Uitgebracht 1992
Recentste versie 4.20.0 (27 maart 2024)[1] Bewerken op Wikidata
Status Actief
Besturingssysteem Linux en Unix
Geschreven in C, C++, Python
Categorie Netwerksoftware
Licentie(s) GPLv3
Versiebeheer
Website (en) Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

Samba is een opensourcesoftwarepakket dat bestaat uit verschillende applicaties. Samba maakt gebruik van het SMB-protocol.

Door ondersteuning voor dit protocol te bieden, kunnen machines die dit protocol ondersteunen met elkaar communiceren over het netwerk, zowel intern als over het internet. Deze technologie wordt vooral gebruikt om Unixmachines te laten communiceren met Windowsmachines.

Geschiedenis[bewerken | brontekst bewerken]

Andrew Tridgell ontwikkelde de eerste versie van wat uiteindelijk Samba zou gaan worden vanaf december 1991. In januari 1992 publiceerde hij de eerste versie als „Server 0.1”.[2]

Na enkele bugfixes liet Tridgell het project bijna 2 jaar rusten, ook al kreeg hij verschillende mails met vragen over zijn project. Pas toen hij zijn Unix-systeem wilde verbinden met het Windows-systeem van zijn vrouw, haalde hij zijn project weer boven en doopte het om tot smbserver. Aangezien dit handelsmerk problemen gaf, zocht Tridgell naar een andere naam. Die naam werd uiteindelijk Samba.

Ondertussen was het reeds 1995 en begon het project meer en meer te groeien en later kwam er ook meer invloed van buitenaf. Ontwikkelaars die Samba mee wilden ontwikkelen en uitbreiden, schreven hun eigen stukken code en al snel ontstond er een team achter Samba.

Functionaliteit[bewerken | brontekst bewerken]

Samba zorgt ervoor dat gebruikers van een Windows-systeem toegang krijgen tot gedeelde bestanden en printers van een Unix-systeem en andersom. Uiteraard is er ook een authenticatiesysteem ingebouwd waardoor ongewilde gebruikers geen toegang krijgen. Dit was eerder niet mogelijk omdat Unix en Windows andere protocollen gebruikten om bestanden te delen in een lokaal netwerk (LAN). Samba vertaalt simpelweg het ene protocol zodat het verstaanbaar is voor het andere.

In een Windowsnetwerk krijgt elk systeem ook een NetBIOS-naam. Deze zorgt voor een alternatief voor het IP-adres. Samba zorgt er ook voor dat namen van de systemen in het netwerk worden opgehaald en geïdentificeerd.

De laatste stabiele versie van Samba is 4.0, al blijft het team achter Samba werk uitvoeren om de code te optimaliseren en eventuele nieuwe technologieën/protocols te ondersteunen.

Samba 4.0[bewerken | brontekst bewerken]

Volgende implementaties en verbeteringen zijn aanwezig in Samba 4.0:[3]

  • Ondersteuning voor de logon- en administratieprotocols van Active Directory[4]
  • Nieuwe testsuites
  • Volledige NTFS-semantics voor delende back-ends
  • Interne LDAP-server met AD-semantics
  • Interne Kerberos-server met PAC-ondersteuning
  • Flexibele procesmodellen
  • Betere schaalbaarheid van kleine tot zeer grote installaties
  • Nieuwe RPC-infrastructuur (PIDL)
  • Flexibele database-architectuur (LDB)
  • Embedded codetaal (ejs)
  • Generic-veiligheidssysteem (GENSEC)
  • Meer dan 50% automatisch gegenereerde code

In Samba 4.1 werd ondersteuning voor btrfs en versleuteld transport voor SMB3 toegevoegd.[5]

Versies[bewerken | brontekst bewerken]

Het Samba-project onderhoudt meerdere uitgaveseries naast elkaar (zie onderhoudsversie). Momenteel zijn dit 3.0.x, 3.2.x, 3.3.x, 3.4.x en 4.0.x.

Enkele belangrijke versies in de geschiedenis van Samba:

Versie Datum van uitgave Ingrijpende veranderingen
1.0 Begindagen van 1992 Eerste versie
1.5 December 1993 Ontstaan van smbserver en smbclient, eerste mogelijkheid als printserver, vrijgegeven onder GPL
1.5.20 December 1993 Jeremy Allison schrijft mogelijkheid om met NT-servers te verbinden
1.5.21 December 1993 Karl Auer maakt script met 'smb.conf' waarin verschillende opties kunnen gespecificeerd worden
1.6 Maart 1994 Lange bestandsnamen worden ondersteund. Het project heet nu officieel Samba
1.6.09 April 1994 Beveiliging op gebruikersniveau, eerste populaire versie
1.7 Juli 1994 Ontstaan van FAQ, name mangling
1.8 Augustus 1994 Ondersteuning voor IPC en named pipe
1.9 Januari 1995 Samba kan gebruikt worden als masterbrowser van het netwerk
1.9.16 Mei 1996 Introductie van CVS, eigenlijke ontstaan van 'Team Samba'
2.0 Januari 1999 Enorm populair zelfs voor beginners, Eerste boek over Samba
2.2 Eind 1999 Primaire domeincontroller voor NT4, ondersteuning voor Windows 2000
3.0 September 2003 Grote structurele verbeteringen, ondersteuning voor Active Directory
3.2 Juli 2008 Ondersteuning voor Windows Vista en Windows Server 2008, ondersteuning voor IPv6, encryptie
3.3 Januari 2009 tdbsam-update, experimentele ondersteuning voor NTFS ACL's.
3.4 Juli 2009 Mogelijkheid om Samba 3 en 4 naast elkaar te draaien om een Active Directory te simuleren.
4.0 december 2012 Volledige Active Directory-ondersteuning zodat Samba als domain controller kan werken.
4.1 oktober 2013 Toevoeging van ondersteuning voor btrfs en versleuteld transport voor SMB3.
4.2 maart 2015 Transparente bestandscompressie en cluster-ondersteuning
4.3 september 2015

Samba TNG[bewerken | brontekst bewerken]

Samba TNG
Logo
Ontwikkelaar(s) Samba TNG-team
Uitgebracht 1992
Recentste versie 0.5-rc1 
(3 december 2009)
Status Inactief
Besturingssysteem Multiplatform
Geschreven in C, C++, Python
Categorie Netwerksoftware
Licentie(s) GNU General Public License
Versiebeheer
Website Officiële website
Portaal  Portaalicoon   Informatica

Samba TNG (The Next Generation) werd geforkt eind 1999, na onenigheid tussen de Samba-ontwikkelaars en Luke Leighton over de richting van het Samba-project. Zij slaagden er niet in overeenstemming te bereiken over een ontwikkelingstransitiepad waardoor de onderzoeksversie van Samba die hij ontwikkelde (destijds bekend als Samba-NTDOM) langzaam kon worden geïntegreerd in Samba.[6]

Sinds de start van het project is de ontwikkeling minimaal geweest door een gebrek aan ontwikkelaars. Als zodanig adviseerde het Samba TNG team regelmatig Samba te proberen omdat ze meer ontwikkelaars hebben en in staat zijn om meer platformen en situaties te ondersteunen.[7]

Een van de belangrijkste doelstellingen van het Samba TNG project is het herschrijven van alle NT-domeinservices als FreeDCE-projecten.[8]

Dit doel van herschrijven wordt bemoeilijkt door het feit dat alle netwerkdiensten handmatig zijn ontwikkeld via reverse engineering, met beperkte of geen verwijzing naar DCE/RPC-documentatie.

De belangrijkste verschillen tussen de twee programma's zijn de implementatie van de NT Domains suite van protocollen en MSRPC-diensten. Samba stelt alle NT Domains services beschikbaar vanaf één plaats, terwijl Samba TNG elke service in zijn eigen programma heeft gescheiden.

ReactOS begon met het gebruik van Samba TNG-diensten voor de implementatie van SMB. ReactOS-ontwikkelaars waren geïnteresseerd in het Samba TNG-ontwerp om ReactOS te laten communiceren met Windows-netwerken. De ontwikkelaars van beide projecten hebben samengewerkt om de netwerkcode aan te passen en het systeem te bouwen. De meerlagige en modulaire aanpak maakte het gemakkelijk om elke dienst over te zetten naar ReactOS.[9]

Gezien de minimale ontwikkeling van Samba TNG is ReactOS in februari 2017 overgestapt op Samba zelf.[10]

Gerelateerde software en protocollen[bewerken | brontekst bewerken]

Externe link[bewerken | brontekst bewerken]