Mise en place d’un serveur SAMBA sur Dreambox

 

Objectif :

 

En installant un serveur SAMBA sur votre boîtier Dreambox, cela vous permet de ‘voir’ les systèmes de fichiers de la dreambox à partir d’un PC sous Windows, comme s’il s’agissait de systèmes de fichiers d’un autre PC du réseau.

 

Ainsi, votre éditeur de texte préféré sous Windows sera utilisable pour modifier directement des fichiers de configuration sur la DM, en évitant les opérations fastidieuses et risquées du transfert par FTP, modifications sur le PC, puis à nouveau transfert vers la DM.

 

 

NOTE : Les firmwares (ou images) récentes pour Dreambox, et TGS100, basées sur des CVS postérieurs à Novembre 2005, embarquent un serveur Samba préconfiguré , prêt à l'emploi

Cette page est donc obsolète....

 

Contexte de l’exemple :

 

-         1 (ou plusieurs) PC sous Windows ( en l’occurrence, XP SP2 )

o       Pas de serveur de domaine dans le réseau, capable de gérer l’authentification !

o       Travail dans un ‘workgroup’ Windows, d’égal à égal

-         1 Dreambox DM7020S flashée avec Hydra_Phoenix 1.09

Mais cela devrait marcher avec les DM7000 aussi !

-         Le tout relié en réseau

Mise en place SAMBA sur la DM :

 

Vous pouvez utiliser le ‘Add-ons Manager’ intégré à Hydra pour télécharger Samba, mais pour ma part, l’installation n’a jamais abouti : Message ‘Script failed’

 

Vous pouvez aussi télécharger un fichier zip ici

( http://www.dambrain.fr/Dreambox/Samba_Dreambox.zip )

Il contient :

-         Cette documentation au format PDF

-         Les binaires smbd et nmbd à installer sur la DM

-         Un exemple du fichier de configuration expliqué ci-après

-         Les scripts permettant de démarrer Samba automatiquement à chaque boot de la DM

 

Il vous faut enregistrer ce fichier zip dans un répertoire de votre choix sur Windows.

Puis unzipper le fichier pour obtenir les différents fichiers prêts à être installés sur la DM

 

1)      Mettre en place les binaires ‘smbd’ et ‘nmbd’ dans le répertoire /usr/bin de la DM

Si vous aviez essayé de télécharger Samba avec Hydra, il est probable qu’ils soient déjà en place !

Après mise en place sur la Dreambox, ne pas oublier de modifier les droits d’exécution (avec telnet) :

            chmod 755 /var/bin/*mbd

 

 

2)      Mettre en place le script ‘samba’ dans /etc/init.d de la DM

Attention : ce script est configuré pour que, en mode debug seulement, les fichiers ‘log’ soient écrits dans /mnt/hdd/log : si vous n’avez pas de HDD, modifiez ce répertoire pour écrire dans /var/tmp !

Après mise en place sur la Dreambox, ne pas oublier de modifier les droits d’exécution (avec telnet) :

            chmod 755 /etc/init.d/samba

 

 

3)      En utilisant telnet, connectez-vous sur la DM, login ‘root’, mot de passe ‘dreambox’ (à moins que vous l’ayez changé)

cd /etc/rc2.d

ln –s /etc/init.d/samba ./S90samba

exit

Dès cet instant, le serveur SAMBA sera démarré automatiquement à chaque boot de la DM.


 

N’oubliez pas que si vous souhaitez modifier les paramètres décrits ci-après, il faut arrêter/démarrer Samba pour que ces nouveaux paramètres soient pris en compte.

 

Il n’est pas nécessaire de re-booter la DM : en telnet, identifié ‘root’, il suffit de lancer :

 

            - pour arrêter :             /etc/init.d/samba stop

            - pour relancer :           /etc/init.d/samba start

 

Et le tour est joué !

 

Les fichiers à configurer :

 

Il y a deux fichiers à configurer pour que samba s’exécute correctement, et rende la DM accessible depuis les PCs du groupe de travail (workgroup). Ces fichiers, une fois installés sur la DM, devront s’appeler /etc/smb.conf et /etc/user.map

 

Note :

-         Samba sur DM ne peut pas se comporter en serveur de domaine (d’authentification) ou ‘master’

-         Les postes PC sous Windows XP ont une manière ‘exotique’ de soumettre les login/password 

-         Depuis un PC, il n’est pas possible de voir ni copier/coller des fichiers > 2 Gb. Faites donc en sorte que vos films enregistrés soit ‘découpés’ en rondelles de 2 Gb maximum, sinon seul FTP vous permettra de les copier sur votre PC (voir Dreambox setup ).

 

Choix préalable :

 

            J’ai décidé que tout PC du réseau local serait habilité à se connecter à la DM, et qu’il aurait implicitement les droits de ‘root’.

            C’est une stratégie risquée, bien sûr, mais en contrepartie, j’ai limité les accès aux seuls postes du réseau local ( adresses 192.168.2. masque 255.255.255.0 )

            De plus, il est impératif que votre firewall bloque les accès extérieurs vers les ports netbios !

 

            En effet, se conformer au protocole d’authentification Windows XP semble insurmontable à Samba DM, et je souhaitais pouvoir accéder aux systèmes de fichier /var/tuxbox/config, etc….  autant qu’au disque dur ou au stick USB. Ce n’est possible que si l’utilisateur distant est considéré comme ‘root’, et non s’il est ‘invité’ ou ‘nobody’.

 


 

Le fichier smb.conf :

 

            Ce fichier doit être configuré avant d’être installé sur la DM

Configuration exemple : (doit être adaptée à votre réseau )

Ne sert que si debug level > 0

 
[global]

                log file = /mnt/hdd/log/log.%m

                socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192

                netbios name = Dreambox

                server string = Dreambox

                username map = /etc/user.map

                guest ok = yes

                guest account = root

                encrypt passwords = yes

                password server = none

Adresse IP de ma Dreambox : à adapter !

 
                security = share

interfaces = 192.168.2.3

Le nom de mon Workgroup utilisé par les PCs : à adapter

 
                workgroup = dambrain.fr

                debug level = 0

                os level = 0

Le disque dur de la dreambox sera visible (ou ‘exposé’ ) sous le nom ‘hdd’

 
 


[hdd]

                comment = HDD on Dreambox

                writeable = yes

                path = /mnt/hdd

                guest ok = yes

                browseable = yes

                valid users = root, nobody, domi

Dans mon cas, le filesystem / est exposé sous le nom ‘root’: c’est un choix personnel !

 
                allow hosts = 192.168.2.

 

[root]

                comment = Root on Dreambox ( Attention ! )

                path = /

                writeable = yes

guest ok = yes

                browseable = yes

Dans cet exemple, mon réseau est de type 192.168.2.x/255.255.255.0 ! à adapter ! Limite l’accès root aux seuls postes du LAN ! Important !

 
                valid users = root, nobody, domi

                allow hosts = 192.168.2.

 

 

 

Le fichier user.map :

            Ce fichier doit être configuré avant d’être installé sur la DM

Configuration exemple : (doit être adaptée à votre réseau )

 

Domi est mon nom de login sur le PC Windows XP : à adapter à votre cas

 
root = root domi

nobody = guest pcguest smbguest domi


Touche finale :

Après avoir adapté et installé les fichiers smb.conf et user.map, vous devez lancer Samba manuellement, la première fois :

telnet -> dreambox

login root

/etc/init.d/samba start

 

Si vous entrez la commande :

            ps –ef

Vous devriez obtenir une liste de processus actifs contenant, par exemple :

521 root       9468 S N /usr/bin/enigma

504 root        944 S   /usr/bin/smbd -D -l /mnt/hdd/log -s /etc/smb.conf

505 root        996 S   /usr/bin/nmbd -D -l /mnt/hdd/log -s /etc/smb.conf

Félicitations : Samba accepte de tourner, contrairement à la version téléchargée sous Hydra !

Si les configurations sont bonnes, vous pouvez l’exploiter, maintenant !

 

Depuis votre PC, ouvrir l’explorateur de fichiers, faire une recherche d’ordinateur (dreambox) ou ouvrir ‘Tout le réseau’, et le Workgroup qui vous correspond.

Double clic sur le symbole ‘dreambox’

 

Miracle ! : vous devriez voir les différents systèmes de fichiers ‘exportés’ dans Samba et vous ballader dedans !