Vous êtes sur la page 1sur 20

Table des matires

1 SERVICE SAMBA ..................................................................................................... 2 1.1 INTRODUCTION .............................................................................................. 2 1.2 COMPOSANTS DE SAMBA ............................................................................ 2 1.3 INSTALLATION DU CLIENT SAMBA .......................................................... 3 1.4 INSTALLATION DU SERVEUR SAMBA ...................................................... 3 1.5 CONFIGURATION DE SAMBA ...................................................................... 4 1.5.1 Partage du rpertoire personnel ...................................................................... 5 1.5.2 Partager un rpertoire quelconque .................................................................. 6 1.5.3 Partage d'un lecteur de CD-ROM ................................................................... 6 1.5.4 Test de la configuration .................................................................................. 7 1.6 ACCEDER A UNE RESSOURCE SAMBA SOUS LINUX ............................. 8 1.6.1 Envoyer un message ..................................................................................... 10 1.6.2 Monter une ressource Samba partage (smbmount) ..................................... 12 1.6.3 Monter une ressource Samba partage (cifs) ................................................ 13 1.6.4 Accder une ressource Samba partir de Linux ........................................ 14 1.7 ACCEDER A UNE RESSOURCE SAMBA A PARTIR DE WINDOWS ..... 15 1.8 FICHIER DE MOT DE PASSE SAMBA ........................................................ 16 1.8.1 Mthode manuelle ......................................................................................... 16 1.8.2 SWAT ........................................................................................................... 20

_______________________________________________________________________ 2011 Hakim Benameurlaine 1

1 1.1

SERVICE SAMBA INTRODUCTION Dvelopp lorigine par lAustralien Andrew Tridgell, Samba est un outil qui met en place un partage de fichiers et dimprimantes compatibles avec Windows. Samba utilise le protocole SMB (Server Message Block) pour partager les fichiers et les imprimantes sur une connexion rseau. Les systmes d'exploitation qui prennent en charge ce protocole incluent Microsoft Windows ( travers son Voisinage Rseau), OS/2 et Linux. Au lieu dapprendre un poste Windows dialoguer avec un serveur Unix, Samba apprend Unix agir comme un systme Windows partageant ses ressources. Le rsultat est un systme rapide, performant, accessible pour un large public et gratuit. Quand vous faites une connexion au serveur Samba, vous lui passez un nom d'utilisateur. C'est le nom d'utilisateur Windows. Samba va alors chercher pour le mme nom d'utilisateur dans la base de donnes des mots de passe Unix, donc habituellement le fichier /etc/passwd. S'il le trouve, le serveur Samba utilisera cette entre pour avoir, au moins, un ID utilisateur Unix valide pour accder les rpertoires et les fichiers. Il peut aussi utiliser le fichier /etc/passwd pour valider le mot de passe reu. Mais seulement s'il n'est pas configur pour utiliser les mots de passe encrypts. Auquel cas il validera le mot de passe avec un autre fichier, par exemple /etc/samba/smbpasswd (paramtre smb passwd file) En rsum, pour chaque utilisateur Windows, vous avez besoin d'un compte Unix avec le mme nom. Cependant il existe certaines mthodes pour se dbarrasser de cette contrainte.

1.2

COMPOSANTS DE SAMBA Le service Samba est constitu d'un serveur et d'un client, ainsi que de quelques outils permettant de raliser des services pratiques ou bien de tester la configuration.

Le serveur est constitu de deux applications (appeles dmons): o smbd, noyau du serveur, fournissant les services d'authentification et d'accs aux ressources o nmbd, permettant de montrer les services offerts par Samba (affichage des serveurs Samba dans le voisinage rseau, ...)

_______________________________________________________________________ 2011 Hakim Benameurlaine 2

Le client: smbclient est un client pour linux fournissant une interface permettant de transfrer des fichiers, accder des imprimantes Le client smbmount Le client smbumount La commande testparm vrifiant la syntaxe du fichier smb.conf

1.3

INSTALLATION DU CLIENT SAMBA Il faut installer les paquetages : samba-client samba-common # yum install samba-common # yum install samba-client

1.4

INSTALLATION DU SERVEUR SAMBA Il faut installer les paquetages : samba-common samba # yum install samba-common # yum install samba Pour configurer SAMBA, on peut utiliser lun des deux outils graphique SWAT ou bien system-config-samba. SWAT = Samba Web Admin Tool : Outil Web de configuration de Samba Pour cela il faut installer les paquetages suivants : system-config-samba samba-swat # yum install system-config-samba # yum install samba-swat Si vous voulez que le service smb dmarre automatiquement, utilisez ntsysv, chkconfig ou serviceconf pour l'activer lors de l'excution. # chkconfig smb on

_______________________________________________________________________ 2011 Hakim Benameurlaine 3

1.5

CONFIGURATION DE SAMBA La configuration de Samba est effectue par l'intermdiaire d'un fichier de configuration unique: smb.conf. Ce fichier est situ dans le rpertoire /etc/samba. Ce fichier dcrit les ressources que l'on dsire partager, ainsi que les permissions/restrictions qui leur sont associe. Le fichier smb.conf se dcoupe selon des rubriques (chacune rfrenc par une ligne contenant le nom de la section entre crochets) comprenant chacune un ensemble de lignes de paramtres du type attribut = valeur. Une ligne commenant par un # est une ligne de commentaires. Il existe 3 sections principales: La section [global] dfinit les paramtres gnraux sur le serveur La section [homes] dfinit le partage des rpertoires personnels La section [printers] dfinit les imprimantes partages par le serveur

Section [global] Voici un exemple de section [global]: [global] # mme nom de groupe que celui sous Windows (Voisinage rseau) workgroup = GROUPELINUX # commentaire dans voisinage rseau. server string = Serveur Samba # empcher l'accs certaines machines ;hosts allow = 192.168.100 EXCEPT 192.168.100.23 # emplacement du fichier printcap (imprimantes sur le serveur Linux) printcap name = /etc/printcap _______________________________________________________________________ 2011 Hakim Benameurlaine 4

# partage de toutes les imprimantes dfinies dans printcap load printers = yes # pcguest doit tre cr. # si aucun compte invit alors nobody est utilis. guest account = pcguest ; # fichier journal de Samba # un fichier journal par machine log file = /var/log/samba/%m.log # mode de scurit : (user / share / server) security = user encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd

1.5.1 Partage du rpertoire personnel La section [homes] permet de dfinir l'accs au rpertoire personnel de chaque utilisateur. Voici un exemple de section: [HOMES] # commentaire visible depuis le voisinage rseau comment =Rpertoire personnel # affichage de la ressource pour tous browseable = no # possibilit d'crire sur la ressource writable = yes valid users = %S create mode = 0664 directory mode = 0775

_______________________________________________________________________ 2011 Hakim Benameurlaine 5

1.5.2 Partager un rpertoire quelconque Il est possible de dfinir un accs personnalis n'importe quel rpertoire de la machine en crant une section portant le nom de la ressource partage. Voici un exemple de section personnalise: [CCM] # commentaire visible depuis le voisinage rseau comment = Rpertoire CCM # chemin d'accs a la ressource path = /home/ccm # affichage de la ressource pour tous browseable = no public = no # utilisateur autorise accder la ressource user = jeff,meandus,tittom # possibilit d'crire sur la ressource writable = yes create mask = 0750 1.5.3 Partage d'un lecteur de CD-ROM Il est ainsi possible de partager un lecteur de CD-ROM (celui-ci devant tre pralablement mont), en crant par exemple une section [cd-rom] comme suit: [CD-ROM] # commentaire visible depuis le voisinage rseau comment = lecteur de CD-ROM # chemin d'accs au lecteur path = /media/cdrom # accessible tous public = yes # impossibilit d'crire sur la ressource writable = no

_______________________________________________________________________ 2011 Hakim Benameurlaine 6

1.5.4 Test de la configuration Le programme testparm permet de vrifier la syntaxe du fichier de configuration (smb.conf). Il est conseill d'excuter cet utilitaire ch aque modification manuelle du fichier smb.conf.

_______________________________________________________________________ 2011 Hakim Benameurlaine 7

1.6

ACCEDER A UNE RESSOURCE SAMBA SOUS LINUX Le client Samba (smbclient) permet de fournir une interface en ligne de commande pour accder aux ressources Samba partir d'une machine de type Unix. Dans ce qui suit, on suppose quon dispose dun partage partage_xp sur une machine Windows XP :

_______________________________________________________________________ 2011 Hakim Benameurlaine 8

smbclient permet en premier lieu de vrifier l'existence d'un serveur Samba sur le rseau et de lister les ressources qu'il partage grce la commande:

Une fois les ressources identifies, il est possible d'accder chacune d'entre elles en utilisant des commandes qui ressemblent FTP(put, get..) afin d'envoyer/recevoir des fichiers ou bien de parcourir les rpertoires de la ressource.

_______________________________________________________________________ 2011 Hakim Benameurlaine 9

1.6.1 Envoyer un message Le client Samba permet aussi d'envoyer des messages sur un client LanManager (pour peu que la machine distante permette de grer ce type de message, comme par exemple avec WinPopUp). La syntaxe d'envoi d'un message (de moins de 1600 octets) est la suivante: # smbclient -M nom_de_la_machine Lorsque vous avez fini d'crire le message, il faut appuyer simultanment sur Ctrl+D.

_______________________________________________________________________ 2011 Hakim Benameurlaine 10

Ne pas oublier dactiver le service affichage des messages.

_______________________________________________________________________ 2011 Hakim Benameurlaine 11

1.6.2 Monter une ressource Samba partage (smbmount) Les utilitaires smbmount et smbumount permettent de monter de

dmonter des ressources SMB en tant que systme de fichiers distant. NOTE La commande smbmount nest plus supporte par les versions rcentes. Pour monter une ressource :

Pour dmonter la ressource : # smbumount /mnt

_______________________________________________________________________ 2011 Hakim Benameurlaine 12

1.6.3 Monter une ressource Samba partage (cifs) RedHat utilise un nouveau type de partage de fichier Windows appel CIFS (Common Internet File System). Pour plus dinformations: man mount.cifs Notez que CIFS ne peut pas rsoudre les noms d'ordinateurs Windows, utilisez leurs adresses IP la place.

_______________________________________________________________________ 2011 Hakim Benameurlaine 13

1.6.4 Accder une ressource Samba partir de Linux A partir dun fureteur, spcifier smb://localhost/fedora par exemple.

_______________________________________________________________________ 2011 Hakim Benameurlaine 14

1.7

ACCEDER A UNE RESSOURCE SAMBA A PARTIR DE WINDOWS Pour accder une ressource Samba partir de Windows, utiliser lune des deux mthodes suivantes : Voisinage rseau

Commande net Pour voir les partages : net view Pour crer un map : net use w: \\linux\partage_tmp

_______________________________________________________________________ 2011 Hakim Benameurlaine 15

1.8

FICHIER DE MOT DE PASSE SAMBA

1.8.1 Mthode manuelle Dans RedHat les mots de passe crypts sont activs par dfaut. Le protocole SMB de Microsoft utilisait l'origine des mots de passe en texte clair. Cependant, Windows 2000 et Windows NT 4.0 avec Service Pack 3 ou suprieur requirent des mots de passe Samba crypts. Pour utiliser Samba entre un systme RedHat Linux et un systme Windows 2000 ou Windows NT 4.0 Service Pack 3 ou suprieur, vous pouvez modifier le registre Windows afin qu'il utilise des mots de passe en texte clair ou configurer Samba sur votre systme Linux pour l'utilisation de mots de passe crypts. Si vous choisissez de modifier le registre, vous devez le faire sur toutes vos machines Windows NT ou 2000. 1) Dans /etc/samba/smb.conf mettre : encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd 2) Crer le fichier de mots de passe /etc/samba/smbpasswd # cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd 3) Ajouter un usager : # smbpasswd -a hakimb New SMB password: Retype new SMB password: Added user hakimb. [root@localhost samba]# La commande smbadduser nest plus supporte par les versions rcentes.

_______________________________________________________________________ 2011 Hakim Benameurlaine 16

4) Modifier le mot de passe : # smbpasswd hakimb New SMB password: Retype new SMB password: Password changed for user hakimb. 5) Dsactiver un usager : # smbpasswd -d v2000 Disabled user v2000. 6) Activer un usager : # smbpasswd -e v2000 Enabled user v2000. 7) Supprimer un usager : # smbpasswd -x v2000 Deleted user v2000.

Procdure dtaille: Pour configurer Samba sur votre systme RedHat pour l'utilisation de mots de passe crypts, suivez la procdure ci-dessous : 1) Crez un fichier de mots de passe spar pour Samba. Pour en crer un sur la base de votre fichier /etc/passwd existant, tapez la commande suivante une invit de Shell : # cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

_______________________________________________________________________ 2011 Hakim Benameurlaine 17

2) Si le systme utilise NIS, tapez la commande suivante : # ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd 3) Le script mksmbpasswd.sh est install dans votre rpertoire /usr/bin avec le paquetage samba. 4) Utilisez la commande chmod 600 /etc/samba/smbpasswd pour changer les permissions du fichier de mots de passe Samba afin que seul l'utilisateur root ait une permission de lecture et d'criture. 5) Le script ne copie pas les mots de passe utilisateur dans le nouveau fichier. Pour dfinir le mot de passe de chaque utilisateur Samba, utilisez la commande smbpasswd nom d'utilisateur (remplacez nom d'utilisateur par le nom de chaque utilisateur). Un compte d'utilisateur Samba ne sera pas actif tant qu'un mot de passe Samba correspondant n'aura pas t dfini. 6) Les mots de passe crypts doivent tre activs dans le fichier de configuration Samba. Dans le fichier smb.conf, vrifiez que les lignes suivantes ne sont pas dsactives : encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd 7) Relancez le service smb en tapant la commande : service smb restart

_______________________________________________________________________ 2011 Hakim Benameurlaine 18

EXEMPLE # cat /etc/samba/smbpasswd

# cat /etc/passwd|mksmbpasswd.sh > /etc/samba/smbpasswd

# cat smbpasswd #
# SMB password file. # Root :0:XXXXXXX:XXXXXX:[UD]:LCT-0000:root bin :1:XXXXXXX:XXXXXX:[UD]:LCT-0000:bin daemon :2:XXXXXXX:XXXXXX:[UD]:LCT-0000:daemon adm :3:XXXXXXX:XXXXXX:[UD]:LCT-0000:adm lp :4:XXXXXXX:XXXXXX:[UD]:LCT-0000:lp sync :5:XXXXXXX:XXXXXX:[UD]:LCT-0000:sync shutdown :6:XXXXXXX:XXXXXX:[UD]:LCT-0000:shutdown halt :7:XXXXXXX:XXXXXX:[UD]:LCT-0000:halt mail :8:XXXXXXX:XXXXXX:[UD]:LCT-0000:mail news :9:XXXXXXX:XXXXXX:[UD]:LCT-0000:news uucp :10:XXXXXX:XXXXXX:[UD]:LCT-0000:uucp operator :11:XXXXXX:XXXXXX:[UD]:LCT-0000:operator games :12:XXXXXX:XXXXXX:[UD]:LCT-0000:games gopher :13:XXXXXX:XXXXXX:[UD]:LCT-0000:gopher ftp :14:XXXXXX:XXXXXX:[UD]:LCT-0000:FTP User nobody :99:XXXXXX:XXXXXX:[UD]:LCT-0000:Nobody rpm :37:XXXXXX:XXXXXX:[UD]:LCT-0000: dbus :81:XXXXXX:XXXXXX:[UD]:LCT-0000:System message bus avahi :70:XXXXXX:XXXXXX:[UD]:LCT-0000:Avahi daemon rpc :32:XXXXXX:XXXXXX:[UD]:LCT-0000:Portmapper RPC user mailnull :47:XXXXXX:XXXXXX:[UD]:LCT-0000: smmsp :51:XXXXXX:XXXXXX:[UD]:LCT-0000: nscd :28:XXXXXX:XXXXXX:[UD]:LCT-0000:NSCD Daemon vcsa :69:XXXXXX:XXXXXX:[UD]:LCT-0000:virtual console memory owner haldaemon:68:XXXXXX:XXXXXX:[UD]:LCT-0000:HAL daemon rpcuser :29:XXXXXX:XXXXXX:[UD]:LCT-0000:RPC Service User nfsnobody:65534:XXX:XXXXXX:[UD]:LCT-0000:Anonymous NFS User sshd :74:XXXXXX:XXXXXX:[UD]:LCT-0000:Privilege-separated SSH netdump :34:XXXXXX:XXXXXX:[UD]:LCT-0000:Network Crash Dump user pcap :77:XXXXXX:XXXXXX:[UD]:LCT-00000000: xfs :43:XXXXXX:XXXXXX:[UD]:LCT-00000000:X Font Server beaglidx :58:XXXXXX:XXXXXX:[UD]:LCT-00000000:User for Beagle indexing ntp :38:XXXXXX:XXXXXX:[UD]:LCT-00000000: apache :48:XXXXXX:XXXXXX:[UD]:LCT-00000000:Apache gdm :42:XXXXXX:XXXXXX:[UD]:LCT-00000000: hakimb :500:XXXXX:XXXXXX:[UD]:LCT-00000000:

_______________________________________________________________________ 2011 Hakim Benameurlaine 19

1.8.2 SWAT

# cat smbpasswd | grep hakimb hakimb:500:F1C9B0B3E4E77C1BAAD3B435B51404EE:2F267EC200DC 38AD19BD57ED11838632:[U]:LCT-46F19D05: NOTE Pour pouvoir ajouter un usager dans Samba (/etc/samba/smbpasswd), il doit exister dans Linux (/etc/passwd)

_______________________________________________________________________ 2011 Hakim Benameurlaine 20