La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Yonel GRUSSON1 SAMBA Les grandes Jorasses. Yonel GRUSSON2 SAMBA La première version stable de Samba, créée par Andrew Tridgell, date de 1994 (Samba 1.7).

Présentations similaires


Présentation au sujet: "Yonel GRUSSON1 SAMBA Les grandes Jorasses. Yonel GRUSSON2 SAMBA La première version stable de Samba, créée par Andrew Tridgell, date de 1994 (Samba 1.7)."— Transcription de la présentation:

1 Yonel GRUSSON1 SAMBA Les grandes Jorasses

2 Yonel GRUSSON2 SAMBA La première version stable de Samba, créée par Andrew Tridgell, date de 1994 (Samba 1.7). La version 2 apparaît en 1999, la version 3 en 2003. Samba est un logiciel serveur permettant à des stations Unix (Linux), Windows, OS2 et Mac de se connecter sur un serveur Unix (Linux) pour accéder à différents services. Logo officiel de Samba

3 Documentation Le site officiel de samba : www.samba.org De nombreux sites consacrés à Linux, par exemple : www.linux-france.org Toute la documentation fournie avec les distributions de Linux qui contiennent Samba Yonel GRUSSON3 SAMBA

4 Yonel GRUSSON4 SAMBA Samba, installation et mise en œuvre par Eckstein Edité par O'Reilly Petite biographie : Samba, précis et concis par Jay Ts, Robert Eckstein David Collier-Brown Edité par O'Reilly Samba : Installation, mise en œuvre et administration par Michel Dutreix Edité par Eni

5 Un serveur Samba offre les services suivants : partage de fichiers et de répertoires partage d'imprimantes exécution de scripts de connexion serveur Dfs ( voir cours Windows ) exploration de réseau pour le client d'authentification des clients se connectant sur un domaine Windows serveur de noms Wins Yonel GRUSSON5 SAMBA

6 Yonel GRUSSON6 SAMBA Ces services sont rendus en respectant : les comptes d'utilisateur (authentification) les permissions d'accès SAMBA s'appuie sur le protocole SMB ( Server Message Block ). SMB s'appelle maintenant CIFS ( Common Internet File System – RFC 1002-1002 ) Note : SAMBA = SaMBa

7 Yonel GRUSSON7 SAMBA SAMBA s'appuie sur le protocole SMB (Server Message Block)

8 Rappel sur les réseaux Microsoft : Les workgroups (ou groupe de travail) Les domaines avec un PDC ( Primary Domain Controller ) qui gère la base SAM ( Security Account Manager ) et les BDC ( Backup Domain Controller ) qui en détiennent une copie. L'Active Directory qui s'appuie sur LDAP et DNS Yonel GRUSSON8 SAMBA

9 Yonel GRUSSON9 SAMBA Un serveur SAMBA peut être : membre d'un workgroup serveur principal (PDC) d'un domaine serveur secondaire (BDC) d'un domaine si le PDC est un serveur Samba ( impossible si le PDC est une serveur Microsoft ) serveur membre d'un domaine Active Directory (avec Samba 3)

10 Yonel GRUSSON10 SAMBA UTILISATION ET LANCEMENT Du côté client Windows TCP/IP doit être installé et NETBIOS (NetBT ou NBT) doit être activé (à vérifier dans les propriétés réseau) (NETBEUI est inutile) Note 1 : SMBCLIENT est un client SMB pour système Unix Note 2 : Ce cours est basé sur la distribution Suse Enterprise Server 10

11 Yonel GRUSSON11 SAMBA

12 Yonel GRUSSON12 SAMBA Du côté serveur Concrètement Samba s'appuie sur 2 "démons" (services) smbd le serveur proprement dit nmbdservice de résolution des noms NetBios Il existe également le service …..

13 winbinddService permettant l'intégration d'un serveur Samba dans un domaine possédant déjà un PDC Windows ( récupération des comptes ) De nombreuses commandes et utilitaires sont associés à Samba, en voici quelques unes : Yonel GRUSSON13 SAMBA

14 smbstatusPour obtenir l'état des connexions smbpasswdGestion des mots de passe testparmVérification de la configuration pbedit ( version 3 )Gestion des comptes dans une base de données SAM net ( version 3 )Semblable à la commande Windows smbcalsGestion des ACL ( Access Control List ) smbspoolGestion des imprimantes testprnsVérification des imprimantes smbtarUtilitaire de sauvegarde Yonel GRUSSON14 SAMBA

15 nmlookupInterrogation du serveur de noms Netbios swat Utilitaire Web de configuration smbclientClient Unix pour utiliser Samba smbgroupedit ( version 3 ) Pour faire la correspondance entre les groupes Unix et windows smbcontrolpour envoyer des commandes à smb et nmb en cours d'exécution findsmbObtenir des informations sur smb Chaque utilitaire possède de nombreuses options Yonel GRUSSON15 SAMBA

16 Yonel GRUSSON16 SAMBA Pour la distribution Suse Enterprise Server 10 Les démons sont dans /usr/sbin Utilisation des scripts : [/bin/sh] /etc/rc.d/smb et /etc/rc.d/nmb –Lancement des serveurs : nmb start puis smb start ( ou /usr/sbin/rcnmb start puis rcsmb start ) –Arrêt : idem avec stop (smb stop) –Vérification : idem avec status (smb status)

17 Lancement au démarrage du système : Par l'interface graphique En ligne de commande la distribution Suse Enterprise Server 10 utilise le "super-démon" xinetd pour gérer les services réseau ( super-démon dans la mesure ou il gère d'autres démons ). La commande xinetd utilise soit le seul fichier xinetd.conf soit ce fichier et le répertoire xinetd.d (cas le plus général) Yonel GRUSSON17 SAMBA

18 Un seul fichier de configurationUn fichier de configuration par service /etc/xinetd.conf defaults {... } service nom-service1 {... } service nom-service2 {... } /etc/xinetd.conf defaults {... } includedir /etc/xinetd.d /etc/xinetd.d/nom-service1 service nom-service1 {... } /etc/xinetd.d/nom-service2 service nom-service2 {... } Yonel GRUSSON18 SAMBA

19 Fichier /etc/xinet.conf # xinetd.conf defaults { log_type = FILE /var/log/xinetd.log log_on_success = HOST EXIT DURATION log_on_failure= HOST ATTEMPT # only_from = localhost instances = 30 cps = 50 10 interface= 127.0.0.1 } includedir /etc/xinetd.d Yonel GRUSSON19 SAMBA

20 Les services Samba dans /etc/xinetd.d Note : Service swat voir plus loin Yonel GRUSSON20 SAMBA Fichier netbios-ssnFichier netbios-nsFichier swat service netbios-ssn { socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/smbd disable = no } service netbios-ns { socket_type = dgram protocol = udp wait = no user = root server = /usr/sbin/nmbd disable = no } service swat { port = 901 socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/swat only_from = 127.0.0.1 log_on_failure += USERID disable = no }

21 Il faut vérifier que les services sont déclarer dans le fichier /etc/services netbios-ns137/tcp # NETBIOS Name Service netbios-ns137/udp # NETBIOS Name Service netbios-ssn139/tcp # NETBIOS Session Service netbios-ssn 139/udp # NETBIOS Session Service swat901/tcp Yonel GRUSSON21 SAMBA

22 Yonel GRUSSON22 SAMBA CONFIGURATION DE SAMBA Les fichiers de configuration de SAMBA se situent en général dans le répertoire : /etc/samba Ce répertoire contient essentiellement les fichiers suivants (noms par défaut) : smb.conf ( pour la configuration de Samba ) smbpasswd ( pour les mots de passe )

23 Yonel GRUSSON23 SAMBA Le fichier smb.conf contiendra toutes les informations pour le fonctionnement du serveur : Les informations générales Répertoire personnel des utilisateurs Répertoires partagés collectivement Les imprimantes partagées Les droits d'accès. etc.

24 Yonel GRUSSON24 SAMBA Après une modification du fichier smb.conf Détecter les erreurs de syntaxe et tester la cohérence du fichier avec l'utilitaire : testparm Arrêter et relancer le serveur : smb stop puis smb start ou smb restart

25 Le fichier smb.conf se décompose en sections dont les principales sont : [global] Contient la configuration générale du serveur [home] Description des répertoires personnels [nom_rep_partagé] Description d'un répertoire collectif [netlogon] Pour les scripts de connexion Yonel GRUSSON25 SAMBA

26 Le fichier smb.conf se décompose en section dont les principales sont : [profiles] Pour les profils utilisateur [nom_imprimante] Pour le partage d'une imprimante [printers] Description des imprimantes partagées par le système Yonel GRUSSON26 SAMBA

27 Yonel GRUSSON27 SAMBA UTILSATEURS DU SERVEUR SAMBA Un utilisateur de Samba est avant tout un utilisateur Linux, il devra donc être déclaré sous Linux puis sera récupéré par Samba qui doit faire la correspondance entre les systèmes Linux et Windows Les utilisateurs sont gérés classiquement avec le fichier : /etc/samba/smbpasswd (d'autres méthodes sont possibles : Annuaire, tdb (trivial data base), NIS)

28 Yonel GRUSSON28 SAMBA Une fois l'utilisateur Linux créé : useradd nom_user –m Ajouter cet utilisateur dans le fichier smbpasswd en exécutant la commande : smbpasswd -a nom_user mot_de_passe -d pour désactiver ; -e pour activer ( voir les autres options dans l'aide )

29 Yonel GRUSSON29 SAMBA Exemple de fichier smbpasswd : # This file is the authentication source for Samba if 'passdb backend' is set # to 'smbpasswd' and 'encrypt passwords' is 'Yes' in the [global] section of # /etc/samba/smb.conf # See section 'passdb backend' and 'encrypt passwords' in the manual page of # smb.conf for more information. roger:2002:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A788C: keith:2004:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B17: pete:2003:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B24: john:2005:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[DU ]:LCT-477A7B4A: Structure d'une ligne de ce fichier : nom_user : uid (de /etc/passwd) : mot de passe crypté ( 95/98/Me ) : mot de passe crypté ( NT/2000/XP ) : flags : date de la dernière modification du mot de passe : Flags ( 11 caractères ) : U utilisateur ; D utilisateur désactivé ; N utilisateur sans mot de passe ; W compte d'ordinateur

30 Yonel GRUSSON30 SAMBA Configuration du serveur Samba comme PDC d'un domaine : [global] domain master = yes Ce serveur est un PDC workgroup = pinball Nom du domaine netbios name = toundra Nom netbios du serveur (par défaut le nom de la machine) encrypt passwords = yes Les mots de passe sont cryptés (obligatoire dans ce contexte - valeur par défaut) passdb backend = smbpasswd La gestion des utilisateurs se fait à l'aide du fichier /etc/samba/smbpasswd (valeur par défaut) security = user La sécurité se situe au niveau de l'utilisateur (obligatoire dans ce contexte). Les utilisateurs devront fournir un login et un mot de passe à la connexion (autres valeurs : share, server, domain, ads) domain logons = yes Force Samba à offrir des ouvertures de session sur ce domaine (obligatoire dans ce contexte).

31 Yonel GRUSSON31 SAMBA Configuration du serveur Samba comme PDC d'un domaine : [global] local master = yes Autorise Samba à participer aux élections de l'explorateur de réseaux preferred master = yes Ce serveur est l'explorateur de réseau préféré. Il provoque une élection d'explorateur en démarrant os level = 255 Définit le niveau de candidature de ce serveur lors d'une élection d'un maître d'exploration (valeur par défaut 20). Attention s'il existe plusieurs serveurs sur le réseau. server string = Samba %v sur %L Commentaire pour décrire ce serveur time server = yes Fournit au client une synchronisation horaire SMB

32 Yonel GRUSSON32 SAMBA Configuration du serveur Samba comme PDC d'un domaine : [global] host allow = 172.16. EXCEPT 172.16.42.15 Permet d'autoriser certains réseau, ici le réseau 172.16.0.0 (attention au point final) – Par défaut le réseau auquel appartient le serveur. La clause EXCEPT permet d'écarter des machines de cette autorisation. Il existe également sur le même schéma "host deny = …" log level = 1 Niveau de détail des messages dans les fichiers log (valeur par défaut 1) log file = /var/log/samba/log.%m Emplacement et nom du fichier trace max log file = 4000 Taille du fichier log en kilo-octets (valeur par défaut : 5000) Notes : Il existe d'autres options en fonction du rôle joué par le serveur (voir documentation). Des options sont obligatoires et d'autres facultatives ; ces dernières sont calculées en fonction des options obligatoires.

33 Yonel GRUSSON33 SAMBA Joindre un domaine géré par un PDC Samba Comme avec un serveur Windows, pour que les utilisateurs puissent se connecter sur le domaine *, il faut créer un compte pour la machine sur ce domaine. Opération préliminaire. L'administrateur Linux (root) doit être administrateur de Samba : smbpasswd –a root * Cette opération ne concerne que les systèmes NT/2000/XP/Vista

34 Yonel GRUSSON34 SAMBA Création manuelle du compte d'ordinateur (comme pour l'utilisateur ce compte doit apparaître au niveau du système) useradd A28-10$ –g nogroup –c "Compte machine" –s /bin/false (Le symbole $ pour distinguer ce type de compte) smbpasswd –a –m A28-10$ (-m pour indiquer qu'il s'agit d'un compte d'ordinateur) Création automatique Mettre dans la section [global] add machine script = /usr/sbin/useradd %m\$ –g nogroup –c "Compte machine" –s /bin/false

35 Yonel GRUSSON35 SAMBA Résultats : Dans le fichier /etc/passwd (extrait) root:x:0:0:root:/root:/bin/bash roger:x:2002:100::/home/roger:/bin/bash pete:x:2003:100::/home/pete:/bin/bash keith:x:2004:100::/home/keith:/bin/bash john:x:2005:100::/home/john:/bin/bash A28-10$:x:2006:65534:Compte machine:/home/A28-10$:/bin/false Dans le fichier /etc/samba/smbpasswd roger:2002:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A788C: keith:2004:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B17: pete:2003:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[U ]:LCT-477A7B24: john:2005:C21EF1ABF1B94EC3AAD3B435B51404EE:4ACD250DD63564CBDA6D4989E7DA259C:[DU ]:LCT-477A7B4A: root:0:9D3BAFFBC37BE6B8AAD3B435B51404EE:996D2A2C29AA30DA496BF533E319C106:[U ]:LCT-477CDAD1: A28-10$:2006:XXXXXXXXXXXXXXXXXXXXXXXXXXX:C53B83F84A6893C8E141D0784394FB89:[W ]:LCT-477D2364:

36 Yonel GRUSSON36 SAMBA Joindre le domaine depuis un client XP :

37 Yonel GRUSSON37 SAMBA Résultat dans l'explorateur :

38 Yonel GRUSSON38 SAMBA Configuration de smb.conf pour des répertoires personnels Dans cet exemple, les répertoires personnels Samba sont les répertoires personnels Linux créés lors de la création de l'utilisateur (useradd … -m). Donc ici pas de problème de droit. [glogal] logon drive = U: Lettre affectée au répertoire personnel [homes] comment = Répertoire personnel de %u Commentaire (%u = Nom de l'utilisateur) browseable = no N'apparaît pas dans l'explorateur read only = no N'est pas en lecture seule

39 Yonel GRUSSON39 SAMBA Configuration de smb.conf pour des répertoires personnels [homes] writeable = yes Autorise l'écriture dans le partage (idem : writable et write ok) Inverse de "read only" guest ok = no Accès public interdit create mask = 0700 Définition du masque pour la création des fichiers directory mask = 0700 Définition du masque pour la création des répertoires inherit acls = yes Le fichier ou le répertoire créé hérite des droits du père.

40 Yonel GRUSSON40 SAMBA Configuration de smb.conf pour des scripts de connexion [global] logon script = connect.vbs Nom du script situé dans le path figurant dans le partage [netlogon] Il s'agit ici d'un script collectif. Il est possible de personnaliser un script pour chaque utilisateur avec "logon script = %u.vbs" ou selon l'appartenance au groupe primaire avec "logon script = %g.vbs" [netlogon] path = /repsamba/connexion Répertoire où sont situés les scripts. Les utilisateurs Samba doivent un droit en lecture sur ce répertoire. writeable = no Ecriture impossible browseable = no N'apparaît pas dans l'explorateur

41 Yonel GRUSSON41 SAMBA Application avec le fichier "connect.vbs : On Error Resume Next set WshNet=CreateObject("Wscript.NetWork") WshNet.RemoveNetWorkDrive "S:" WshNet.MapNetworkDrive "S:", "\\Toundra\Echange",false Set WshNet=Nothing

42 Yonel GRUSSON42 SAMBA Configuration de smb.conf pour des partages collectifs Présentation de l'exemple : Les utilisateurs roger:x:2002:2001::/home/roger:/bin/bash pete:x:2003:2001::/home/pete:/bin/bash keith:x:2004:2000::/home/keith:/bin/bash john:x:2005:2000::/home/john:/bin/bash Les groupes usersamba:!:2000:roger,pete,john,keith leaders:!:2001:roger,pete members:!:20022:keith,john

43 Yonel GRUSSON 43 SAMBA Configuration de smb.conf pour des partages collectifs Structure visée /repsamba connexionPropriétaire "root" ; en lecture pour tous echangePropriétaire "root" ; en lecture/écriture pour le groupe "leaders" docEn lecture/écriture pour "roger" (propriétaire). En lecture seule pour le groupe "members" et "pete"

44 Yonel GRUSSON44 SAMBA Configuration de smb.conf pour des partages collectifs Les droits Linux drwxr-xr-x 5 root root 128 Jan 4 17:03. drwxr-xr-x 23 root root 568 Jan 6 2008.. drwxr-xr-x 2 root root 112 Jan 6 10:52 connexion drwxr-x--- 2 roger usersamba 48 Jan 6 11:12 doc drwxrwx--- 3 root leaders 152 Jan 3 14:12 echange Fichier de smb.conf [echange] path = /repsamba/echange comment = Répertoire pour le groupe "leaders" browseable = yes writeable = yes valid users = @leaders

45 Yonel GRUSSON45 SAMBA Configuration de smb.conf pour des partages collectifs [doc] path = /repsamba/doc comment = Répertoire en consultation browseable = yes writeable = no valid users = @usersamba [admindoc] path = /repsamba/doc comment = administration du partage "doc" browseable = no writeable = yes valid users = roger

46 Droits Samba/Linux/Windows Le fichier "testfic.txt" sous Linux -rwx r- - r - - 1 roger leaders 4 Jan 6 11:30 testfic.txt Sa vision sous Windows Yonel GRUSSON46 SAMBA

47 Droits Samba/Linux/Windows L'accès à un partage par un utilisateur : Doit d'abord satisfaire aux exigences de Samba ("writeable = no" ou "… = yes", "valid users = …") Puis dans un second temps être autorisé par les permissions du système Unix (ou Linux) Yonel GRUSSON47 SAMBA

48 L'outil swat Un outil graphique permet de gérer un serveur Samba à partir d'un navigateur sous le port 901. Yonel GRUSSON48 SAMBA


Télécharger ppt "Yonel GRUSSON1 SAMBA Les grandes Jorasses. Yonel GRUSSON2 SAMBA La première version stable de Samba, créée par Andrew Tridgell, date de 1994 (Samba 1.7)."

Présentations similaires


Annonces Google