1.Fonctionnement du protocole SMB...3 1.1.Qu est ce que SMB...3 1.2.L évolution du SMB...3 1.3.Clients et serveurs SMB disponibles...3 2.Utilisation du protocole SMB...4 2.1.La sécurité du SMB...4 2.2.Notions de Domaines et Workgroups...4 2.3.Et Samba dans tout ça?...4 3.Décortiquage du fichier smb.conf:...5 3.1.Le fichier smb.conf...5 3.2.La section global...5 3.3.Les sections homes, public et private...6 4.Fichier smb.conf pour un PDC...7 4.1.Le fichier du PDC...7 4.2.Les spécificités...7 5.Les imprimantes...9 5.1./etc/printcap...9 5.2.Le fichier smb.conf...9 6.Les Macros...10 6.1.Config file...10 6.2.Include...10 6.3.Copy...10 7.La base de registres Windows...10 8.Les autres possibilités de Samba...10 8.1.Émulation de plusieurs serveurs...10 8.2.Workstation d un domaine...10 9.Les variables Samba...11 10.L utilitaire testparm...11 11.Les binaires samba...12
1. Fonctionnement du protocole SMB 1.1.Qu est ce que SMB SMB, qui signifie Server Message Block, est un protocole de partage de ressources, telles que les fichiers, les imprimantes, les ports séries, etc. Le protocole SMB est basé client serveur, sur un mode requête/réponse. La seule exception est la gestion des oplocks (opportunistic locks). Les serveurs fournissent les différentes ressources au réseau. Les clients, qui possèdent leurs propres disques, peuvent accéder aux ressources des serveurs. Ils se connectent en utilisant le TCP/IP (RFC 1001 et RFC 1002), ainsi que d autres protocoles (NetBEUI ou IPX/SPX). 1.2.L évolution du SMB De nombreuses variantes de ce protocole ont été successivement développées, afin de s adapter à la demande. La version actuelle utilise une négociation negprot. Les différentes versions successives sont : Core Protocol, Core Plus Protocol, DOS Lan Manager 1.0, Lan Manager 1.0, Lan Mananger 2.0, Lan Manager 2.1 (Windows For Workgroup), NT Lan Manager 1.0 (Windows NT), ainsi que CIFS. 1.3.Clients et serveurs SMB disponibles On dispose, en premier lieu, des différentes versions de Windows. Mais également, pour d autres plates formes : Samba, la famille PATHWORKS pour Digital, Lan Manager pour OS/2 SCO, VisionFS pour SCO, etc.
2. Utilisation du protocole SMB 2.1.La sécurité du SMB Il existe deux modèles de sécurité : 1. Sécurité de partage (Share level) : La protection est appliquée au niveau du partage. Chaque partage possède un mot de passe, et la connaissance de ce mot de passe permet l accès. C est celui que l on retrouve dans les Windows 9x., Me. 2. Sécurité d utilisateur (User level) : La protection est ici appliquée à chaque fichier de chaque partage, et est basée sur des droits d accès utilisateur. Chaque client doit s authentifier sur un serveur 2.2.Notions de Domaines et Workgroups Un workgroup est un ensemble d ordinateurs, dans lequel chacun gère sa propre sécurité. Windows for Workgroups permet de gérer une sécurité de type partage. Windows 9x peut déléguer l authentification a un serveur NT ou un serveur Lan Manager. La sécurité est dite distribuée. Un Domaine est un ensemble d ordinateurs, dans lequel la sécurité est centralisée, sur un ou plusieurs contrôleurs de domaines, en général un primaire et plusieurs secondaires. Ces contrôleurs gèrent des profils de type nom d utilisateur, mot de passe, groupes, etc? 2.3.Et Samba dans tout ça? Samba est une implémentation libre de serveur SMB, qui est disponible pour les plates formes UNIX (au sens large) et OpenVMS. Parmi les variantes d Unix, on notera Linux, Solaris, HP UX, SCO OpenServer et NetBSD. Samba implémente la variante NT LM 0.12 du protocole; il peut désormais s intégrer à un domaine, soit en tant que contrôleur primaire ou que membre, mais pas en tant que secondaire. Il peut aussi gérer des requêtes d authentification pour des systèmes Windows.
3. Décortiquage du fichier smb.conf: 3.1.Le fichier smb.conf Un fichier smb.conf est constitué de plusieurs parties, et présente l allure suivante: [global]... [homes]... [printers]... [xxx]... Ceci est un fichier smb.conf standard; il permet de fournir aux postes windows des ressources partagées par un serveur Linux. [global] workgroup = MONTPELLIER server string = Gilles hosts allow = 192.168.1. 127. guest account = pcguest security = share socket options = TCP_NODELAY interfaces = 192.168.1.4/24 dns proxy = no [homes] [public] [private] comment = Home Directories path=~ browseable = no writable = yes comment = Public Stuff volume = Partage Samba 000 000 01 path = /home/samba/driver public = yes read only = no writable = yes create mask = 0777 comment = Private stuff volume = 0000 0000 02 path = /home/samba/private public = no writable = no 3.2.La section global La section global permet de mettre en place la configuration du serveur samba. Il définit notamment la politique de sécurité et les options par défaut. 3.2.1.Identification Workgroup : Permet de préciser le workgroup ou le domaine windows auquel se
rattache le serveur Samba. Server string : Commentaire de la machine dans le Workgroup. Pour fixer le nom netbios, on utilisera netbios name. 3.2.2.Connectivité Hosts allow : Donne les adresses IP des machines pouvant se connecter au serveur Samba Socket options : Permet de préciser des options de connexion pour la gestion des sockets. Interfaces : Permet de préciser les interfaces sur lesquelles apparaît le serveur Samba. dns proxy : Permet de rechercher une machine par DNS si non trouvée dans un serveur WINS. 3.2.3.Accessibilité Guest account : signifie le compte per défaut qui permettra d accéder à des partages sans mots de passes. Security : précise le type de politique de sécurité. 3.3.Les sections homes, public et private Comment : permet de placer un commentaire sur le partage, qui s affiche lorsque l on affiche les détails. Volume : Permet de préciser un nom de volume. Path : Chemin d accès au répertoire partage sur la machine serveur. Browseable : Précise la présence du partage dans la liste des ressources. Writable : Précise si un partage est inscriptible. Synonyme de write ok, et antinomique de read only. Public : Permet de spécifier le besoin d un mot de passe. Synonyme de guest ok. Guest ok :Voir Public. Create mask : Définit un masque de création pour les fichiers créées. Synonyme de create mode.
4. Fichier smb.conf pour un PDC [global] 4.1.Le fichier du PDC workgroup = NT_DOMAIN server string = Serveur Samba %v sur %L hosts allow = 192.168.1. socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = 192.168.1.140 ; printcap name = /etc/printcap ; load printers = yes log file = /var/log/samba/log.%m max log size = 0 security = domain encrypt passwords = yes smb passwd file = /etc/smbpasswd domain master = yes os level = 34 preferred master = yes domain logons = yes dns proxy = no [homes] comment = Home Directories browseable = no writable = yes [netlogon] comment = Network Logon Service path = /usr/local/samba/netlogon guest ok = yes writable = no share modes = no [Profiles] path = /usr/local/samba/profiles browseable = no guest ok = yes 4.2.Les spécificités 4.2.1.Section [global] Dans cette section, il y a des spécificité afin d agir comme un PDC windows. On devra, dans un premier temps, changer la politique de sécurité. On devra ensuite se déclarer maître de domaine, et accepter les logins. Security : On précise ici un type de sécurité par domaine. Encrypt passwords : On précise le cryptage des mots de passe. Smb passwd file : Le fichier dans lequel sont stockés les mots de passe. Domain master : Devient le browser master du domaine si cela est possible (voir
os level). Os level : précise le niveau de l os pour les élections (NT=33). Preferred master : Samba va essayer de devenir le PDC sur le domaine. Provoque une réélection. Domain logons : permet aux clients Win9x ou NT de se logguer sur un serveur Samba. 4.2.2.Netlogon Le partage netlogon est nécessaire au login sur un domaine Windows. Il doit être lisible pour tous, mais pas inscriptible. Il contiendra les scripts de login ainsi que les fichiers CONFIG.POL de windows. Il nécessite également la ligne domain logons. Une variante est de placer le flag browseable = no sur ce partage. 4.2.3.Profiles Le partage Profiles permet de gérer les profils distants. Configuration Windows 9X logon home = \\%L\%U\profiles Configuration Windows NT logon path = \\%L\profiles\%U On peut également mélanger certaines données entre les profils NT et 9x.
5. Les imprimantes 5.1./etc/printcap ##PRINTTOOL3## REMOTE ljet4 600x600 a4 {} LaserJet4 Default 1 lp0:\ :sd=/var/spool/lpd/lp0:\ :mx#0:\ :sh:\ :rm=192.168.1.200:\ :rp=:\ :if=/var/spool/lpd/lp0/filter: L imprimante doit etre confgurée correctement pour l impression sur le serveur Linux, au niveau système. Ci dessus l exemple d un fichier printcap. [global] 5.2.Le fichier smb.conf workgroup = MONTPELLIER server string = Samba server hosts allow = 192.168.1. 127. printcap name = /etc/printcap load printers = yes printing = bsd security = share [printers] [lw12640] domain master = yes dns proxy = no comment = All Printers path = /var/spool/samba browseable = no public = yes writable = no printable = yes comment = LaserWriter 12/640 MTP path = /var/spool/samba guest account = servadm printable = yes writable = no public = yes On a tout d abord une déclaration dans la partie global, qui permet de partager une imprimante. Il s agit du load printer. On a ensuite la configuration du type d impression (ici bsd) ainsi que de la localisation du fichier printcap contenant la déclaration des imprimantes. On a ensuite le partage printers qui définit les partages d impression. Enfin, le partage lw12640 définit une imprimante. De nombreux points sont configurés par défaut.
6. Les Macros 6.1.Config file Linux Party 28/01/2001 Samba version 2.0.7 L utilisation du paramètre config file permet de spécifier un fichier de configuration externe. Il permet notamment, en fonction de certaines variables, de simuler plusieurs serveurs (avec netbios aliases notamment). 6.2.Include Permet d inclure une partie du fichier smb.conf grâce a un fichier externe. Ne peut pas utiliser toutes les variables samba, comme %u (utilisateur), %P (répertoire de partage par défaut) ou %S (nom de partage courant) car ils ne sont pas déterminés au moment de l inclusion. 6.3.Copy Permet de définir un ensemble de paramètres qui pourront être répétés à partir des partages. Écrase toute autre configuration dans une même section. 7. La base de registres Windows L homogénéité des différentes versions de Windows fait que, pour chacune d entre elle, le formatage de la base de registre évolue... On devra donc modifier les bases de registres de telle façon que le réseau soit homogène. 8. Les autres possibilités de Samba 8.1.Émulation de plusieurs serveurs Samba possède la particularité, grâce à la gestion des alias netbios et des include, d agir de telle sorte qu il gère plusieurs serveurs netbios différents. 8.2.Workstation d un domaine Un serveur samba peut également se rattacher automatiquement sur un contrôleur de domaine samba. 9. Les variables Samba
Variable Variables Clients Linux Party 28/01/2001 Samba version 2.0.7 Définition %a Architecture client (Samba, Wfw, WinNT,Win95...) %I Adresse IP du client %m Nom NetBios du client %M Nom DNS du client Variables Utilisateur %u Nom Unix %U Nom Unix requis %g Groupe Primaire de %u %G Groupe primaire de %U Variables de partage %p Répertoire principal %P Répertoire principal du partage courant %S Nom du partage en cours Variables serveur %d Process ID du serveur %h Nom DNS du Serveur %L Nom NetBios du serveur %N Répertoire %v Version de Samba Divers %R Niveau de protocole négocié %T Date et heure courants 10.L utilitaire testparm Cet utilitaire est très utile car il permet de verifier une configuration samba. 11.Les binaires samba /usr/bin/addtosmbpass: /usr/bin/convert_smbpasswd: convertit à la volée des utilisateurs Unix vers samba. /usr/bin/nmblookup: permet de gérer les correspondances Nom Netbios et machines.
/usr/bin/smbadduser: permet d ajouter un utilisateur samba. /usr/bin/smbpasswd: permet de générer un mot de passe pour samba. /usr/bin/smbstatus: monitoring du service samba. /usr/bin/smbtar: /usr/sbin/nmbd: démon de résolution des noms Netbios. /usr/sbin/samba: script de gestion des démons smbd et nmbd. /usr/sbin/smbd: démon de gestion des partages et ressources samba. /usr/sbin/swat: interface web de gestion d un serveur samba.