You are on page 1of 5

Ce document écrit par Michel Eudes est sous licence CC

I- Faire fonctionner Samba
Nous allons voir les conditions pour faire fonctionner Samba afin de voir depuis Ubuntu (Linux) les PCs du réseau sous Windows XP et/ou Linux et vice versa : Ce post est le premier d'une série qui vous amènera à l'obtention d'un réseau familial ou de petite entreprise pouvant recevoir jusqu'à une vingtaine de PCs. Il est important de suivre pas à pas les différentes étapes en vérifiant à chacune des étapes contenues dans un des trois posts le fonctionnement avant d'aborder l'étape suivante sous peine de "galère" car il y a beaucoup de paramètres à respecter. Cette méthode a été établie suite aux nombreux dépannages que j'ai effectués sur le forum Ubuntu-fr et qui m'ont permis de voir où les gens butaient et de définir une procédure permettant d'éviter les écueils. Cette méthode vous permettra de les contourner au fur et à mesure et d'avoir rapidement un réseau opérationnel en effaçant les "barrières" primordiales, puis de l'optimiser pour avoir une utilisation souple et fluide. Il est nécessaire que vous possédiez un minimum de connaissances en informatique et utilisation des PCs pour utiliser la méthode avec succès. 1 - sur les PC Windows créer des dossiers partagés et définir les droits sur ces dossiers (lecture seule ou lecture/écriture) et renseigner dans le fichier sytem32/drivers/etc/hosts chaque ordinateur du réseau avec l'Ip et le nom des PC sous la forme : Ip nomPC. Nota: les noms des hosts ne doivent pas avoir plus de 15 caractères et ceux des dossiers partagés plus de 12 caractères. 2 - Installer Samba sur le PC Ubuntu. Le fichier par défaut smb.conf est opérationnel tel que fourni par Ubuntu. Le nom du workgroup sera à modifer pour l'harmonisation avec les PC sous Windows c'est primordial, également à décommenter la ligne security = users en enlevant le ; en début de ligne pour augmenter la sécurité. Renseigner également dans le fichier /etc/hosts chaque ordinateur du réseau avec l'Ip et le nom des PC sous la forme : Ip nomPC. Nota: les noms des hosts ne doivent pas avoir plus de 15 caractères. Puis paramétrer le firewall à l'aide de Firestarter, voir le PS en fin de post pour explications 3 - Créer des utilisateurs samba sur le PC Ubuntu avec smbpasswd :
• • •

Les utilisateurs doivent être déjà utilisateurs du PC Ubuntu, les créer au besoin. sudo smbpasswd -a nomutilisateur ou sudo pdbedit -a nomutilisateur donner le pass sudo puis ensuite le pass choisi pour l'utilisateur. Il est préférable de donner des pass différents à chaque utilisateur.

Nota:la deuxième commande s'utilise si vous avez l'option passdb backend = tdbsam dans votre smb.conf à la place de la définition d'un smbpasswd file (cette option existe à partir de la version 3.0 de Samba et place les utilisateurs et leur password dans un fichier tdb situé dans /var/lib/samba, fichier plus sur et plus solide qu'un simple fichier texte smbpasswd). 4 - Harmoniser le nom du workgroup
• • •

sur les PC windows dans Poste de travail/Propriétés/Nom de l'ordinateur/Modifier sur le PC Ubuntu dans le fichier /etc/samba/smb.conf sudo gedit /etc/samba/smb.conf Créer ou choisir un dossier et le partager (autoriser ou non l'écriture selon les besoins): Système/Administration/Dossiers Partagés donner les permissions 755 à ce dossier (ou 775 si vous voulez autoriser le groupe à écrire) : sudo chmod -R 755 /path/nomdossier Nota: Cela peut se faire également directement dans le fichier smb.conf en rajoutant une section pour le dossier partagé.

5 – Créer un dossier à partager sur le PC Ubuntu :
• • • •

umask=002.conf une ligne : hosts allow = Ip1 Ip2 Ip3 Ip4 Ip5 Avec les différentes Ip des seuls PC du réseau autorisés à partager ou l'adresse de l'ensemble du réseau (par exemple 192. Voir mon post sur l'Optimisation du réseau et celui sur la Résolution des noms d'hotes.dir_mode=0750. ou avec un mount spécifique en sudo sudo mount -t cifs //IpPCdistant/DossierPartage /media/partage -o uid=1000. Vous pouvez également sous Windows utiliser la fonction "Connecter un lecteur réseau" pour avoir un lecteur réseau mappé dans le poste de travail sous une lettre de disque.file_mode=0750. et il en est de même avec la fonction Serveurs Réseaux d'Ubuntu. Les ports à ouvrir sont : • • en udp 137 et 138 en tcp 139 et 445 .credentials=/root/. Nous verrons plus tard comment régler ce problème. 8 – On peut aussi avoir un montage automatique des dossiers partagés des PC Windows au boot d'Ubuntu à l'aide du fstab et l'utilisation de cifs.credentials=/root/.file_mode=0750. 7 .Attention si le dossier partagé est sur une partition en fat32 ou ntfs (partition Windows) les droits ne se donnent pas par un chmod mais par les options de montage dans le fichier /etc/fstab où il faut remplacer les options par défaut par: defaults.0. Nota: l'uid et le gid peuvent être indiqués en clair.168.168.dir_mode=0750.utf8.user. 9 . Ces fonctions sont assez aléatoires et peuvent être empêchées par le firewall si mal configuré seul le système du paragraphe 6 est immédiat et stable: les liaisons sont quasiment instantanées.gid=1000.smbcredentials avec le nom de l'utilisateur et son password //IpPCdistant/DossierPartage /media/partage cifs uid=1000.On peux encore augmenter la sécurité en ajoutant dans la section global du fichier /etc/samba/smb. iocharset=utf8.gid=1000.gid=1000. ou 192.Vous pouvez aussi depuis Windows utiliser la Fonction Voir les Ordinateurs du réseau dans la fenêtre Favoris Réseau.) . PS : Paramétrage des firewalls : ne pas oubliez d'ouvrir les ports pour Samba aux PC autorisés du réseau sur les différents firewalls .uid=1000 ce qui correspond à un chmod de 755 ou par defaults.gid=1000. Code pour le fstab pour monter un partage windows . depuis le PC Ubuntu utiliser se Connecter à un serveur pour se connecter au(x) PC(s) Windows : vous aurez alors une icône de connexion sur le bureau.utf8.smbcredentials sur une seule ligne. Il y a une fonction semblable sur Windows pour monter les dossiers partagés des PC Ubuntu au boot de Windows avec net en ligne de commande ou Connecter un lecteur réseau en mode graphique. iocharset=utf8.user.smbcredentials 0 0 sur une seule ligne. il faut avoir créer /media/partage et le fichier .1. mais attention cette commande peut demander un certain temps (jusqu'à dix minutes) avant d'être active (soyez patients) et afficher le PC Ubuntu car les PC doivent s'être reconnus et avoir dialogué (tout le réseau est parcouru). et depuis le PC Windows dans Démarrer/ Favoris Réseau/Ajouter un favori et vous aurez un nouveau lien dans la fenêtre Favoris réseau.umask=022.uid=1000 ce qui correspond à un chmod de 775 6 – Les PC étant allumés et bootés sur leurs OS respectifs.

On crée les différents utilisateurs Samba et les éventuels groupe de partage où l'on veut réunir certains utilisateurs comme indiqué dans le tuto précédent. voir sa notice d'utilisation.Affecter un utilisateur ou un groupe d'utilisateurs avec Samba Comment affecter un utilisateur. PS: Pour les problèmes avec Vista voir le titre III II. il suffit de choisir Samba dans la liste. Ne pas oublier d'autoriser également la connexion des différents PC du réseau. plusieurs utilisateurs ou un groupe d'utilisateurs à un dossier partagé avec Samba pour personnaliser le réseau et les accès aux dossiers suivant les utilisateurs autrement dit gérer les accès aux différents dossiers suivant l'utilisateur. On crée les différents dossiers à partager et on leur donne les droits 755: chmod -R 755 /path/nomdossier Pour les dossiers partagés en groupe de partage on leur affecte comme groupe celui du groupe de partage et les droits 775. Le firewall standard de Windows XP est automatiquement programmé pour ces ports lors des partages de dossiers . Et on mets les utilisateurs concernés dans le groupe de partage. ZoneAlarm ne crée pas de problème il suffit de bien autoriser les PC de la zone sure. Important : ne pas oublier d'autoriser le broadcast sur le réseau externe et le réseau interne dans les Options Avancées de Firestarter : les deux cases doivent être décochées. Sous Windows cela dépend du firewall installé. Ensuite on édite le fichier /etc/samba/smb.conf et l'on rajoute à la fin les sections correspondants aux différents dossiers à partager et on donne les droits lecture et écriture: Pour un dossier réservé à un seul utilisateur [partage1nom] path = /path/partage1nom available = yes browseable = yes public = no writable = yes valid users = nom create mask = 0640 directory mask = 0750 comment = Réservé à nom Pour un dossier réservé à plusieurs utilisateurs [partage2nom] path = /path/partage2nom available = yes browseable = yes public = no writable = yes valid users = nom1 nom2 nom3 create mask = 0640 directory mask = 0750 comment = Réservé à nom1. nom2. nom3 .Sous Ubuntu l'interface graphique Firestarter est préprogrammée pour ces ports. Ce mode de fonctionnement du partage et des permissions peut être amélioré en utilisant la possibilité qu'offre Linux d'utiliser le bit "s" sur le groupe avec le setgid.

. il faut donc activer ce paramètre pour que Vista fonctionne avec Samba. Il est possible que vous ayez d'autres problèmes avec le nouvel OS de Microsoft Vista. Seul root pourra changer le propriétaire.conf ci-dessous: [pub] path = /path/pub public = yes browseable = yes guest ok =yes read only = yes Il y a un problème avec un serveur public quand la connexion est faite par un invité (guest) : Tous les fichiers créés par ce guest lui appartiennent et ne peuvent être modifiés que par lui.conf dans la section [global] la ligne: map acl inherit = yes Les prochaines versions de Samba à partir de la version 3.0.Pour un dossier réservé à un groupe d'utilisateurs [partage3nom] path = /path/partage3nom available = yes browseable = yes public = no writable = yes valid users = +groupepartage create mask = 0640 directory mask = 0750 comment = Dossier du groupe groupepartage Pour voir les homes des différents utilisateurs (pour écrire modifier l'option writable en yes et fixer les mask) [homes] comment = Home de %U browseable = no valid users = %S writable = no Pour avoir un dossier partagé "pub" à accès public il faut rajouter dans la section [global] les deux lignes: map to guest = bad user guest account = nobody et ensuite créer un dossier "pub" avec un chmod de 755 et avec les options du smb.25 intégreront cela par défaut. mais ce n'est qu'une «release candidate» et peut donc contenir des bugs. Cette version n'est pas intégrée à Ubuntu Feisty Fawn 7. Pour que Vista puisse se connecter il faut rajouter dans le smb. Faire un serveur public n'est pas conseillé de toute façon. III – Problèmes avec Vista Il y a des problèmes avec Vista car Microsoft a modifié le protocole smb dans Vista..24. Le nom de guest est défini par l'option guest account = xxxxx Le guest account étant par défaut nobody les fichiers appartiendront donc à nobody. Actuellement il existe une version de Samba la 3..0.25rc1 qui a intégré les problèmes Vista.04 qui embarque la version 3.0. Les versions actuelles ont «map acl inherit = no» par défaut ce qui crée des problèmes.

0. Nota: à partir de Feisty. de façon qu'il puisse s'afficher lui-même.On choisit un des PC Ubuntu comme PC principal et éventuellement serveur réseau. 4 . Pour cela on rajoute dans la section [global] du smb. 2 .conf des autres PCs sous Ubuntu la ligne : wins serveur = Ip du serveur principal et sur les PCs Windows on inscrit cette même adresse pour la connexion réseau de ces PCs dans les options avancées du protocole TCP/IP onglet WINs Rebooter tous les PCs après configuration. on vérifie que la ligne: browseable= yes existe. et on ajoute dans son smb. Nota: Le PC principal doit être booté en premier et rester booté en permanence.conf du PC principal la ligne : wins support = yes et dans la section [global] du smb.Si vous avez plus d'une dizaine de PCs sur votre réseau. On va optimiser de façon à ce que le Raccourci/Serveurs Réseaux (Dapper et Edgy) ou Raccourcis/Réseaux (à partir de Feisty) suivant les versions d'ubuntu.IV – Optimisation réseau Ubuntu Dans un réseau constitué essentiellement de PCs sous Ubuntu et recevant occasionnellement un ou plusieurs PCs sous Windows XP on doit d'optimiser le fonctionnement. réseau de petite entreprise ou d'écoles pouvant comprendre jusqu'à une vingtaine de PCs. Ce document écrit par Michel Eudes est sous licence CC . c'est un autre problème et je vous conseille de laisser cela aux professionnels ou de vous munir d'un bon livre sur les réseaux Windows et sur Samba. Raccourcis/Réseaux a la particularité d'afficher tous les Pcs dans la première fenêtre en plus de la fenêtre Réseaux Windows/GroupedeTravail 1 . cela peut être une bonne idée de rendre votre PC principal serveur WINs.0. Important : ne pas oublier d'autoriser le broadcast sur le réseau externe et le réseau interne dans les Options Avancées de Firestarter : les deux cases doivent être décochées. Voilà si vous avez suivi mes différents posts pas à pas vous disposez d'un réseau Samba sécurisé à accès contrôlé avec des PCs Ubuntu et/ou des PCs Windows XP Edition Familiale qui fonctionnera et sera utilisable comme réseau familial.D'autre part dans les sections des dossiers partagés sur chaque PC.conf dans la section [global] de façon que ce PC soit le local master et batte tous les autres OS avec un os level maximal de 255. les lignes: local master = yes preferred master = yes os level = 254 On rajoute dans les hosts allow à la suite des Ip du réseau autorisées l'Ip 127. cela diminuera le trafic broadcast et allégera la charge CPU des différents PCs connectés du réseau.1.Sur les autres PCs Ubuntu on définit dans la même section[global]: local master = no os level = x avec x compris entre 33 et 253 et différent pour chaque PC de façon que ces PCs battent Windows XP.1 ou plus simplement 127.Par contre si vous voulez avoir un réseau plus important jusqu'à 200/300 clients ou plus avec gestion de domaine. 3 . sinon on l'ajoute. affiche les PCs du réseau dans Réseaux Windows/GroupedeTravail.