390 likes | 482 Views
Samba ou comment remplacer les serveurs NT. Plan. Introduction. Introduction Qu’est ce que Samba. Programmes permettant à une machine unix de fournir des services à des postes Wintel GPL Partage de fichiers et d’imprimantes Implémente SMB (CIFS) au-dessus de NetBIOS sur TCP/IP
E N D
Plan • Introduction
IntroductionQu’est ce que Samba • Programmes permettant à une machine unix de fournir des services à des postes Wintel • GPL • Partage de fichiers et d’imprimantes • Implémente SMB (CIFS) au-dessus de NetBIOS sur TCP/IP • Joue le rôle de serveur WINs et PDC (contrôleur de domaine)
IntroductionSamba vs NFS • Protocole avec état ( NFS ) = moins robuste • beaucoup plus d’instructions = plus de complexité = plus de rapide • Plus de fonctionnalité SMB= NFS+lpd+Login/Password
IntroductionPhilosophie • Samba = Windows Networking "the unix way" • Totale maîtrise des options du protocole • Options et fichiers de config. très complexes • Pas besoin de maîtriser tout d'un coup • Il vaut mieux connaître le principe de fonctionnement
NetBIOS • Service de nommage • espace plat • 15 caractères + type • master browser • WINS • Service session • Service datagramme
Workgroup vs Domain • Mode workgroup: peer to peer • chaque machine a une base de comptes • elle fait elle même la validation • Domain • validation par une base centrale PDC • il y a toujours la notion peer to peer
Samba • nmbd service de nommage + 'browser' • smbd service de partage de fichiers • smbpasswd ajout d'utilisateur • addtosmbpass import de /etc/passwd • nmblookup cherche des noms NetBIOS • smbprint imprimer sur des imprimantes Wintel • smbclient client ligne de command SMB • smbtar tar. un volume win. directement
Configuration • Smb.conf • il y avait 165 paramètres dans la v 1.9.17 • en version 2.0 • 130 paramètres globaux • 100 paramètres de partage • un man de ~ 8500 lignes Tout est configurable
Smb.conf • [global] • paramètres globaux • valeurs par défaut pour les autres sections • [homes] • permet d'avoir un service homes automatique • [printers] • exporter les imprimante std (/etc/princap) • [autres...] • définir d'autres services de partage disque ou imprimante
Variables et macros • Macros toujours disponibles • %U = le username demandé par le client à l'ouverture de la session, passé par le client au serveur • %G = groupe primaire de l'utilisateur %U • %M = nom DNS de la machine cliente (en minuscules) • %I = adresse IP de la machine cliente • %m = nom NETBIOS de la machine cliente • %h = nom de l'hôte sur lequel tourne Samba • %L = le nom NETBIOS du serveur • %a = architecture de la machine cliente; sont reconnus : Samba, WfWg, Win95, WinNT; Tout le reste est "UNKNOWN". • %R = le niveau de protocole négocié : CORE, COREPLUS, LANMAN1, LANMAN2, NT1 • %N = nom du serveur NIS • %T = date et heure courante • %d = PID du process serveur courant • %v = version de Samba
Variables et macros • Macros disponible uniquement dans un contexte de "partage" • %u = username du service courant (si défini, par exemple avec force user = xxx) • %g = nom du groupe primaire de l'utilisateur %u • %H = le "home" directory de l'utilisateur %u • %P = root directory du service courant • %S = nom du service courant
[global] • Include = /usr/local/samba/lib/smb.conf.%M • netbios = barman • workgroup = inat • server string = commentaire • local master = yes • preferred master = no • os level = 33 • domain master = yes
[gobal] • wins server = nom.serveur.dns • wins support = yes • interfaces = 192.134.4.1 192.134.0.0/24 • name resolver order = lmhosts hosts wins bcast • dead time = 15 • log file = fichier.%m • max log file = 2000 (2M)
Sécurité • Share • défaut pour V<= 1.19 • user • défaut pour V >= 2.00 • server • domain • existe pour V >= 2.00
Security=Share • Modèle Win95 • un password par partage • authentification à chaque connexion • méthode déconseillée avec samba
Security= user • Samba authentifie une paire (username/passwd) • une seul authentification lors de la première connexion • problème des MAJUSCULES • Le plus utilisé
Security= server • Même mode que user • samba utilise une liste de serveurs pour vérifier (username/password) • il est impératif d'avoir un UID-unix par utilisateur pour faire le contrôle d'accès • username uid:gid home • password=* shell=/bin/false
Security = domain • Même principe que le mode user • le serveur peut devenir membre du domaine NT
Sécurité: allow deny equiv • Contrôle d'accès selon la machine cliente • hosts allow = 192.134.4.47 \ 192.134.0 execpt 192.134.4.0.4 • hosts deny = mechan.fr • hosts equiv = /etc/hosts.equiv
Exemple • Un partage projet accessible par malek et mas • /etc/passwd • malek:zzzzzz:zzzzz:/home/malek:/usr/bin/bash • mas:zzz:zzzz:/home/mas:/usr/bin/bash • /etc/group • projet:x:400:malek,mas
exemple #============== Global Definitions =============== [global] workgroup = tunis server string = %h serveur Samba printcap name = /etc/printcap load printers = yes log file = /var/log/samba/log.%m max log size = 500 security = user socket options = TCP_NODELAY dns proxy = no
exemple #================= Share Definitions ================ [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no # Set public = yes to allow user 'guest account' to print guest ok = no writable = no printable = yes
exemple [projet]comment = répertoire commun pierre et jean;le texte ci-dessus apparait dans l'explorateurpath = /home/projetwritable = yesvalid users = @projet# les membres du group "projet" ont accèslocking = yes; modes par défaut à la création de fichiers:create mode = 0660directory mode = 0770force group = projet
Swat • Interface graphique: web + cgi • /etc/services • swat 901/tcp • /etc/inetd.conf • swat stream tcp nowait.400 /usr/local/samba/bin/swat swa • http://127.0.0.1:901/