Samba

Dernière mise à jour : 05/08/2002

    Nouvelle version de l'article sur Samba, je vais essayer de couvrir la partie partage d'informations (cr√©ation de partages de Linux vers Windows et vice-versa) mais aussi comment param√©trer un PDC (Domaine Primaire d'Autentification) pour connecter des stations Windows vers un serveur Linux. Le projet Samba avance tr√®s vite et poss√®de de nombreuses fonctions qui devraient vous int√©resser m√™me dans le cadre d'un r√©seau local si le reste de votre famille n'est pas encore convertie √† la fi√®vre du pingouin.

Liens et projets

    Il faut distinguer deux projets Samba, la version Samba classique qui s'occuppe plus du partage de fichiers et le fork (s√©paration des deux projets) de Samba TNG (The Next Generation) qui se veut plus orient√© authentification Windows et √©mulation d'autres plateformes. Voici donc les liens des deux projets :

    La plupart des distributions r√©centes comportent les packages de Samba qui devraient vous permettre un partage d'informations en peu de temps. Vous pouvez aussi r√©cup√©rer les sources sur le premier lien et les installer avec un simple : ./configure ; make ; make install ; ldconfig. Tout sera alors install√© dans /usr/local/* √† moins d'avoir sp√©cifi√© un --prefix. Attention : Si vous avez une version pr√©-packag√©e (.rpm, .deb, .tgz), elle fera pr√©c√©dence sur la version que vous installez. Assurez vous donc de la d√©sinstaller.

Paramétrage de Samba (partage de données)

    Dans un mileu peu s√©curis√© o√Ļ vous avez juste besoin de partager un r√©pertoire pour des utilisateurs Windows, vous pouvez s√©curiser la share au niveau droits et permissions en outrepassant la s√©curit√© utilisateur. Ce n'est pas vraiment conseill√© dans une entreprise mais fera l'affaire dans un r√©seau familial. Editez donc votre smb.conf, selon votre distribution, il devrait se trouver √† un de ces endroits : /etc/smb.conf, /etc/samba/smb.conf, /usr/local/etc/samba/smb.conf et changez les param√®tres suivants :

    Avec ces changements, vous venez de param√©trer un serveur Samba acceptant les connections du domaine toto et des machines ayant une adresse IP commencant par 192.168. Vous avez ensuite param√©tr√© un partage √©tant dans /opt/smb/partage de type public (visible par tout le monde), writable (tout le monde peut y √©crire) mais non imprimable (normal, ce n'est pas une imprimante). Sachez que pour que n'importe quel utilisateur puisse √©crire, il faut aussi physiquement modifier les droits du partage : chmod 777 /opt/smb/partage/. Sans ce changement, les utilisateurs windows ne pourront pas √©crire dans le partage.

    Pour valider les partages, red√©marrer le d√©mon Samba. La plupart des distributions le mettent en : /etc/init.d/smb (ou samba), auquel cas il ne reste qu'√† un faire un restart dessus (s'il n'est pas d√©marr√©, le syst√®me le fera pour vous) : /etc/init.d/smb restart. Vous pouvez v√©rifier que tout s'est bien pass√© en interrogeant tail /var/log/messages. S'il retourne une erreur, utilisez : testparm qui se charge de v√©rifier les erreurs de syntaxe dans votre fichier de configuation samba.

    Vous pouvez aussi monter un partage windows vers Linux. Comme la plupart des montages, vous devrez √™tre root pour que cela puisse marcher normalement. Imaginons que vous ayez une machine appell√©e SERVEUR qui soit un Windows quelconque avec un partage appell√© donnees. Pour le monter, vous devrez fournir un utilisateur et mot de passe connu de la station Windows (√† moins que cela soit un Windows 95/98/Me qui ne reconna√ģt que Guest en utilisateur). La commande mount sera alors √† utiliser avec le type de fichier smbfs (logique) et la commande est du type :

    Notez ici que la fin de la commande (/mnt/montage) d√©finit l'endroit o√Ļ vous montez le partage sur votre station Linux. Ce point doit avoir les droits suffisants pour vous autoriser √† acc√©der voire √©crire dans le partage. V√©rifiez bien les droits qui ont √©t√© mis du cot√© de la machine Windows.


Controlleur de Domaine Samba

    La configuration d'un controlleur de domaine s'av√®re n√©cessaire si vous d√©sirez avoir un ensemble de machines Windows qui se connecteront sur votre serveur Linux √©mulant un serveur Windows. Assurez vous de n'avoir aucun autre controlleur de domaine dans les parages, sinon il va y avoir interf√©rences. Voici les lignes √† modifier dans votre smb.conf :

    Dans cet exemple, j'ai configur√© mon serveur TUX pour r√©pondre au nom NetBios (Windowsien donc) de TUX, du domaine DOMAINETUX. La plupart des autres lignes tombent sous le sens, si vous devez n√©anmoins ensuite rajouter une station Windows 2000/XP, il vous faudra cr√©er la station sur le serveur par la commande qui suit (dans l'exemple, la station s'appelle tux2 en minuscules, le $ est √† ajouter au nom de la station). Vous devez aussi cr√©er un compte samba root avec le m√™me mot de passe que le serveur (seconde commande) :


    Il ne vous reste alors qu'√† aller sur la station Windows et dans les propri√©t√©s, changer de GROUPE de TRAVAIL vers DOMAINE et entrer : DOMAINETUX (c'est le nom de mon domaine dans l'exemple). Vous allez ensuite devoir entrer un nom d'utilisateur et un mot de passe qui est celui de root (nous l'utilisons car il est le seul √† √™tre autoris√© √† cr√©√©r des comptes sur le serveur). Si vous consultez /etc/samba/smbpassd vous devriez trouver une r√©f√©rence ressemblant √† celle-ci (commen√ßant par le nom de votre machine) :

    F√©licitations, vous venez d'enregistrer votre premi√®re machine sur le domaine Samba. Il ne vous reste qu'√† cr√©er et enregistrer vos utilisateurs. Vous devez pour cela cr√©er l'utilisateur toto par exemple, qui sera autoris√© √† se connecter sur le domaine DOMAINETUX (mon exemple). Si vous regardez de nouveau la configuration, le logon home est \\%L\%U\.profile, assurez vous donc qu'il existe.


    Et bien voil√† pour le moment, la prochaine √©tape sera d'introduire un annuaire LDAP similaire √† celui des Active Directories sous Windows 2000/XP. N'h√©sitez pas √† √©crire pour me donner vos commentaires/critiques/suggestions.