Samba (informatique)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Samba.
Samba (informatique)
Logo
Logo

Développeur The Samba Team
Dernière version 4.1.11 (1er août 2014) [+/-]
Environnement Multiplate-forme
Type Système de fichiers distribué
Licence GNU GPL 3
Site web www.samba.org

Samba est un logiciel d'interopérabilité qui permet à des ordinateurs Unix de mettre à disposition des imprimantes et des fichiers dans des réseaux Windows, en mettant en œuvre le protocole SMB/CIFS de Microsoft Windows[1]. Samba donne la possibilité aux ordinateurs Windows d'accéder aux imprimantes et aux fichiers des ordinateurs Unix[2] en permettant aux serveurs Unix de se substituer à des serveurs Windows[3].

Il s'agit d'une re-implémentation des protocoles SMB/CIFS sous GNU/Linux et d'autres variantes d'Unix par ingénierie inverse. Initialement développée par l'australien Andrew Tridgell et distribuée sous licence libre GNU GPL 3[4]. Son nom provient du protocole SMB (Server message block), le nom du protocole standard de Microsoft, auquel ont été ajoutées les deux voyelles a : « SaMBa ».

À partir de la version 3, Samba fournit des fichiers et services d'impression pour divers clients Windows et peut s'intégrer à un domaine Active Directory, soit en tant que contrôleur de domaine principal (PDC) ou en tant que membre d'un domaine. Il fonctionne sur la plupart des systèmes Unix, comme GNU/Linux, Solaris, AIX et les variantes BSD, y compris Apple, Mac OS X Server (qui a été ajoutée au client Mac OS X en version 10.2). Samba est livré dans presque toutes les distributions GNU/Linux.

Historique[modifier | modifier le code]

Andrew Tridgell a développé la première version de Samba Unix, en 1992, à l'Australian National University, en utilisant un renifleur de paquets pour réaliser une analyse réseau du protocole utilisé par le logiciel de DEC PATHWORKS, nbserver 1.5, publié en décembre 1993. Tridgell a découvert plus tard que le protocole était en grande partie identique à celui utilisé par d'autres systèmes de partage de fichiers, y compris celui de Microsoft. Il a ensuite décidé de se concentrer sur une compatibilité du réseau Microsoft. Samba reçoit aujourd'hui les contributions d'une vingtaine de développeurs originaires du monde entier sous sa coordination.

Auparavant, les PC équipés de DOS et des premières versions de Windows, devaient parfois installer une pile TCP/IP, et un ensemble de logiciels d'origine[réf. nécessaire] Unix : un client NFS, FTP, telnet, lpr, etc. Cela était lourd et pénalisant pour les compatible pc de l'époque, et il obligeait par ailleurs leurs utilisateurs à contracter un double jeu d'habitudes, ajoutant celles d'UNIX à celles de Windows. Samba adopte donc la démarche inverse.

À l'origine, Samba était appelé SMBServer. Le nom a été changé en raison d'une mise en demeure de la société "Syntaxe", qui a vendu un produit nommé TotalNet Advanced Server et propriétaire de la marque "SMBServer". Le nom "Samba" a été donné en choisissant un nom voisin de SMB en interrogeant un dictionnaire Unix, par la commande grep : grep "s.*m.*b" /usr/share/dict/words[5].

Fonctionnalités[modifier | modifier le code]

Samba est la mise en œuvre d'une dizaine de services et d'une douzaine de protocoles. Il comprend NetBIOS sur TCP/IP (NBT), SMB, CIFS (un système de fichier au travers de SMB), DCE/RPC (en) ou, plus spécifiquement MSRPC (en). La suite de protocoles du voisinage réseau, un serveur WINS aussi connu sous le nom de NetBIOS (NBNS). Les protocoles d'un domaine NT qui comprend l'ouverture d'une session NT, une base de données Security Account Manager (SAM), un service Local Security Authority (LSA), un service d'impression (Spoolss) , NTLM et plus récemment l'ouverture de session Active Directory comprenant une version modifiée de Kerberos et de LDAP. Samba peut voir et partager des imprimantes.

Samba configure des partages réseaux pour les répertoires UNIX (y compris le contenu de tous les sous-répertoires). Ils apparaissent pour les utilisateurs de Windows comme des dossiers Windows classiques accessibles via le réseau. Les utilisateurs d'Unix peuvent lire les partages avec le smbclient (libsmb) installé avec Samba. Chaque répertoire peut avoir des privilèges d'accès différents. Par exemple : les répertoires ayant un accès en lecture/écriture pour tous les utilisateurs définis, permettent à chacun d'eux d'accéder à leurs propres fichiers. Mais ils n'ont pas accès aux dossiers des autres, sauf si une autorisation est définie. À noter que le partage netlogon (/etc/samba/netlogon), généralement accessible en lecture, est le répertoire par défaut pour les scripts d'ouverture de session utilisateur.

La configuration est réalisée par l'édition d'un fichier unique (généralement installé dans /etc/smb.conf ou /etc/samba/smb.conf). Samba peut aussi fournir des scripts d'ouverture de session utilisateur et une mise en place de groupes de stratégies via poledit.

Samba inclut un outil d'administration web appelé Samba Web Administration Tool (SWAT).

Lorsque les deux systèmes de partage de fichiers (NFS, Samba) sont installés pour comparaison, Samba se révèle moins performant que NFS au niveau des taux de transferts.

Néanmoins, une étude a montré que Samba 3 était jusqu'à 2,5 fois plus rapide que la version SMB de Windows serveur 2003[6].

La version 3.2 apporte le support de IPv6 et ajoute la possibilité de stocker les partages Samba dans la base de registre ainsi que l'expérimentation du clustering et d'autres améliorations[7].

Interopérabilité[modifier | modifier le code]

Le protocole Samba permet d'assurer l'interopérabilité entre plates-formes différentes et régions différentes par une gestion adéquate de l'encodage des noms de fichiers[8].
Le 20 décembre 2007, Microsoft signe un accord d'information technique[9] suite à un procès perdu contre l'Union européenne.

Samba 4[modifier | modifier le code]

Samba 4 est une version de la suite Samba développée en parallèle avec la branche stable 3.x. Une des nouveautés majeures de cette version est le support des protocoles d'authentification utilisés par Windows 2000 et plus.

Nouveautés[modifier | modifier le code]

Samba 4 supporte le côté serveur dans un environnement Active Directory utilisé par Windows 2000. Il est ainsi possible de joindre complètement des clients Windows à un domaine et effectuer des opérations d'ouverture de session.

Il inclut un serveur LDAP et un centre de distribution de clés Kerberos (KDC).

Principales versions[modifier | modifier le code]

Version Date de sortie Note
4.1.0 11 octobre 2013
4.0.0 11 décembre 2012[10]
3.6.0 9 août 2011
3.5.0 1er mars 2010
3.4.0 3 juillet 2009
3.3.0 27 janvier 2009
3.2.0 1er juillet 2008
3.0.26 11 septembre 2007 Corrections failles importantes et nouvelles fonctions
3.0.0 24 septembre 2003 Corrections failles importantes et nouvelles fonctions[11]
2.2.0 17 avril 2001 Gestion 64 bits complète[12]
2.0.0 16 janvier 1999 Correction de failles importantes[13]
1.9.17 26 août 1997 Première version publique[14]

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en)Roderick W. Smith,Linux Samba Server Administration: Craig Hunt Linux Library,John Wiley & Sons, 2006,(ISBN 9780782153132)
  2. (en)Jay Ts, Robert Eckstein, David Collier-Brown,Samba Pocket Reference: A Unix-to-Windows File & Print Server,O'Reilly Media, Inc. - 2003,(ISBN 9780596005467)
  3. Michel Dutreix,Samba: Installation, mise en œuvre et administration,Éditions ENI, 2003,(ISBN 9782746021457)
  4. (en) Samba adopte la GPL 3
  5. http://www.rxn.com/services/faq/smb/samba.history.txt
  6. information sur LinuxFr
  7. Samba status update du 13 mars 2008 (format PDF)
  8. http://www.linuxfromscratch.org/blfs/view/cvs/introduction/locale-issues.html#locale-wrong-filename-encoding Beyond Linux® From Scratch - Version 2012-08-12 - Chapter 2. Important Information - Going Beyond BLFS - Locale Related Issues
  9. Samba and the PFIF, Samba Team Receives Microsoft Protocol Documentation
  10. http://lwn.net/Articles/528797/
  11. http://www.samba.org/samba/history/samba-3.0.0.html
  12. http://lists.samba.org/archive/samba-technical/2001-April/013205.html
  13. http://lwn.net/1999/0121/samba.html
  14. http://www.samba.org/samba/history/samba1.9.17.html