Le voisinage réseau Windows sous Linux voir http://www.newbielinux.fr/ 3 x.html SMB...2 Protocole NETBIOS (Network Basic Input/Output System)...2 Quelques commandes utiles...2 Internetwork packet exchange ipx...3 spx Sequenced Packet Exchange...4 Voisinage ou favoris réseau = exploration du réseau :...5 A propos du "Master Browser" (Maitre explorateur de réseau Microsoft)...5 Installer...5 Paquet : samba...5 démarrer...6 SERVEUR: Configuration du fichier smb.conf...6 Petit truc trouvé sur internet:...6 Les principaux paramètres d'une section partagée...10 Imprimantes:...11 CUPS...11 Installation des drivers Windows :(?)...12 Un exemple de configuration de samba plus détaillé...14 Partager des applications...15 Un répertoire commun...15 Création des mots de passes utilisateurs du serveur...16 pdbedit...16 Voir la liste des «vrais» utilisateurs...18 Utiliser smbclient...19 Voir les partages de l'ordinateur ordi1...19 Voir les partages en mode console: smbc...20 Sécurité...21 Swat (pour ceux qui aiment!)...22 Configuration de swat :...22 Connexion à SWAT...23 1
SMB Le protocole de communication permettant cette communication entre Windows et Linux s'appelle SMB (Server Message Block). Mis au point par Microsoft en 1987, en reprenant un concept mis au point par IBM en 1985 (NetBIOS), ce protocole s'appuie sur NetBEUI (ainsi que TCP/IP). TCP/IP est implémenté sur la plupart des systèmes d'exploitation (Unix, Linux, AmigaOS, MacOS, OS/2,...). selon le schéma suivant : Applications SMB NetBIOS TCP/IP NetBEUI IPX/SPX Pilote Réseau Protocole NETBIOS (Network Basic Input/Output System) NetBios est plutôt un système logiciel permettant de lier un nom d'ordinateur (codé sur 16 bits) à une adresse IP. Développé au départ par IBM, il utilise la base de données WINS lié aux groupes de travail. Il est utilisé par les anciens réseaux Microsoft (Win 95 98 Me) L'autre méthode utilisée par les réseaux Microsoft (2000 et postérieurs) et sur Internet est le DNS (Domaine Name Service). Ce protocole est peu sécurisé et utilisé actuellement pour la compatibilité avec les anciens systèmes d'exploitation. Il utilise les ports réseaux 135, 137, 138, 139 et 445 (tant en TCP qu'en UDP). Le port 445 n'est utilisé que par Windows 2000 et suivants (XP, 2003, Vista,...) 135 Service Location (EMAP) Utilisé par les appels de procédures à distances 137 Netbios Name Service Utilisé pour vérifier les noms de ordinateurs dans la base Wins. 138 NetBios Datagram Service Utilisé comme broadcast pour détecter si le nom existe effectivement sur le réseau. Principalement utilisé par la fonction "Voisinage réseau". Ce port n'est normalement utilisé qu'en UDP. 139 NetBios Session Service Utilisé pour partager les ressources entre ordinateurs (imprimantes, dossiers,...), normalement uniquement le port TCP. 445 Netbios Fonctionnalité supplémentaire implantée à partir de Windows 2000 (pas millenium). Ce port n'utilise plus WINS mais un service de nom dynamique basé sur le DNS (Active Directory). Quelques commandes utiles nbtstat a nomnetbios : affiche la table correspondant à ce nom netbios nbtstat A ad.ip.de.mach : affiche la table correspondant à cette adresse IP nbtstat n : affiche la table locale nbtstat r : affiche la table des noms résolus par le WINS et broadcast 2
nmblookup S : nomnetbios idem sous unix La convention de dénomination NetBIOS admet un maximum de 16 caractères pour un nom mais Microsoft, les limite à 15 caractères et utilise le seizième en tant que suffixe NetBIOS, utilisé par les logiciels Microsoft pour identifier la fonctionnalité ou le service installé sur l'ordinateur. Exemple de suffixes NetBIOS utilisés par Microsoft. Type de ressource netbios (Nom Unique) Numéro Hex. Ressource 00 Service de station de travail standard 03 Service de messagerie (Win Popup) 06 Service Serveur RAS (permet la connexion à distance) 1B Service explorateur principal de domaine 1D Nom Explorateur Principal 20 Serveur de fichiers 21 Service client RAS Type de ressource de groupe netbios. Numéro Hex. Ressource 00 Groupe de stations de travail standard 1C Serveur de connexion 1D Nom de l'explorateur Principal 1E Nom de groupe normal (utilisé lors des élections d'explorateurs) Dans un réseau Win 2000 pur (w2000 srv et win 2000 pro), si les applis ne s'appuient plus sur NetBIOS, on pourra désactiver NetBIOS, et on sera enfin débarrasser de cette vieille API! Internetwork packet exchange ipx IPX est l'implémentation Novell du Internet Datagram Protocol (IDP) développé par Xerox. IPX est un protocole datagramme sans connexion qui transmet des paquets à travers un LAN et fournit aux stations Netware et aux serveurs de fichiers des services d'adressage et de routage inter réseaux. Il s'agit donc d'un protocole de couche 3 du modèle OSI. L adressage IPX permet, comme l adressage IP, d obtenir un système hiérarchique, offrant ainsi aux administrateurs les bases de la conception LAN. Ces adresses occupent 80 bits : 32 bits (en caractères hexadécimaux) définissant le numéro de réseau choisi par l administrateur et 48 bits pour la partie représentant le nœud qui correspondent à l adresse MAC de l hôte. L avantage de l utilisation de l adresse MAC pour la partie hôte du nœud est que le protocole ARP (gourmand en ressources réseau) devient inutile et donc inutilisé. Les spécifications d'ipx prévoient que les clients reçoivent une adresse qui leur est assignée 3
dynamiquement. Les numéros de réseau sont configurés sur les interfaces physiques des serveurs et des routeurs. Les serveurs peuvent choisir de générer automatiquement un numéro de réseau interne au moment de l'installation. spx Sequenced Packet Exchange SPX : (Sequenced Packet Exchange) est une extension du protocole IPX. SPX est différent d'ipx, il établit une connexion entre deux dispositifs de réseau et surveille la transmission de données. Il assure également les données échangées n'ont aucune erreur. 4
Voisinage ou favoris réseau = exploration du réseau : A propos du "Master Browser" (Maitre-explorateur de réseau Microsoft) Le maître-explorateur ("Master Browser" en anglais) d'un réseau (Microsoft) est la machine qui centralise la liste de "Qui et quoi est présent sur le réseau?" (pour le réseau Microsoft, protocole NetBIOS -niveau applications -) et diffuse cette liste ensuite à qui la demande. Si on n'impose pas certaines règles assez strictes, l'exploration (parcours) du réseau Microsoft tient plutôt de la "foire d'empoigne", où c'est le 1er arrivé qui dit "C'est moi qui y est!" en tant que "master browser"! :+) Quand une machine quelconque veut afficher le parcours réseau (ou afficher la liste des machines disponibles dans l'explorateur en vue de monter une ressource), elle émet une requête de diffusion du style "Il y a quelqu'un?". Le maître explorateur lui répond alors, en lui envoyant cette liste. Pour savoir qui va gérer cette liste (= être élu maître explorateur), les règles par défaut sont les suivantes : la 1ère machine connectée au réseau si plusieurs machines sont présentes simultanément, c'est celle ayant l'os le plus "fort" qui l'emporte (= est élue maître explorateur), Installer La suite de logiciels est un ensemble de programmes qui mettent le protocole SMB smb=server Message Block à la disposition des systèmes Unix, permettant de gérer fichiers et imprimantes pour des clients Windows, NT, OS/2 et DOS. Ce protocole est parfois aussi désigné comme le protocole LanManager ou NetBios. Composition de samba 1. Le serveur est constitué de deux applications (appelées démons) : smbd, noyau du serveur, fournissant les services d'authentification et d'accès aux ressources ;gère les connexions SMB/CIFS (partage de fichiers, impression,...) nmbd, permettant de montrer les services offerts par (affichage des serveurs dans le voisinage réseau,...) ;gère la couche NetBios (ici résolution de noms) On peut en ajouter une troisième: winbindd : qui permet à un serveur Unix d'utiliser un serveur NT pour bénéficier de ses comptes localement 2. le client: smbclient est un client pour linux fournissant une interface permettant de transférer des fichiers, accèder à des imprimantes 3. smbtar: permettant d'effectuer un transfert de ou vers un fichier TAR sous linux 4. testparm vérifiant la syntaxe du fichier smb.conf, le fichier de configuration de Paquet : samba client : Client Unix pour samba samba common : Fichiers samba utilisés communément par le serveur et le client samba server # apt get install samba samba common smbclient smbfs swat samba doc 5
démarrer en lançant la commande suivante: /etc/rc.d/init.d/smb start Starting SMB services: [OK] Starting NMB services: [OK] La commande suivante permet de contrôler que les deux démons sont correctement lancés /etc/rc.d/init.d/smb status smbd (pid 1054) is running... nmbd (pid 1056) is running... SERVEUR: Configuration du fichier smb.conf Il existe 2 sections principales : global et les autres; ces dernières contiennent essentiellement une section home, printer et quelques autres qui dépendent précisément de ce qu'on veut faire [global] Définitions des paramètres généraux du serveur SAMBA [homes] Définition du partage propre à chaque utilisateur du serveur. En fait le système se base sur la liste des utilisateurs unix qui ont été définis dans le fichier /etc/ passwd. Puis il rattache automatiquement le nom de l'utilisateur à son répertoire personnel. [printers] Définition des imprimantes partagées par le serveur SAMBA Permet de définir un partage qui ici s'appellera nom_du_partage. Après vous définissez ce que vous [nom_du_partage] voulez en tant que droits d'accès à ce partage.on peut aussi créer une imprimante avec un nom de partage différent de [printers] Pour vérifier votre fichier de configuration utilisez alors la commande : testparm /etc/samba/smb.conf. Petit truc trouvé sur internet: Pour faciliter la maintenance, renomez le fichier en smb.conf.old; faites vos modification et profitez de la vérification pour creer le vrai smb.conf Pour vérifier votre fichier de configuration utilisez alors la commande : testparm smb.conf.old > smb.conf # envoyer la sortie vers un fichier texte Le fichier smb.conf sera quant à lui créé avec la sortie de testparam. Par suite, il contiendra votre configuration mais tous les commentaires auront disparu :p! Le fichier de configuration lui même n'est pas suffisant pour que tout fonctionne. Il faut aussi créer les administrateurs, les utilisateurs et déclarer les machines (machine trust accounts). Exemple de configuration: 6
[global] workgroup = LABO-AV01 netbios name = prof #Nom Netbios de la machine (le nom Windows). server string = %h server obey pam restrictions = Yes passdb backend = tdbsam passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully*. syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No panic action = /usr/share/samba/panic-action %d invalid users = root # -----------important pour autoriser les anonymes --------map to guest = Bad User #--------------------------------------------------------# Définir cups comme gestionnaire de toutes les imprimantes installées # sur le serveur Linux printing = cups printcap name = cups [homes] comment = Home Directories valid users = %S #seul le propriétaire du répertoire peut s y connecter ( valid users = %S ). read only = No create mask = 0700 directory mask = 0700 browseable = No [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/printers [logiciels] comment = Applications partagées sur le serveur # root doit créer ce répertoire et déléguer sa gestion à un groupe d'utilisateurs. # Dans la suite, ce groupe sera appelé admin path = /appli 7
public = yes # le rép. doit être en lecture seule pour tous writeable =no # le groupe admin peut seul installer les applications write list = @admin 8
Les variables de samba Variable Définition Variables du client %a Architecture du client Exemple: Win95, WfWg, WinNT,... %I Adresse IP du client %m Nom NetBios du client %M Nom DNS du client Variables utilisateur %g Groupe primaire de l'utilisateur %u %H Répertoire home de l'utilisateur %u %u Nom de l'utilisateur unix courant Variables de partage %P Racine du partage actuel %S Nom du partage actuel Variables du serveur %h Nom DNS du serveur %L Nom NetBios du serveur %v Version de Variables diverses %T La date et l'heure courantes 9
Les principaux paramètres d'une section partagée paramètre valeur par défaut description path = chemin du rep à partager comment = texte visible dans le voisinage réseau client guest ok = yes no no (ancien nom : public) partage en accès libre sans authentification valid users = liste des users autorisés à se connecter à la ressource tous printable = true false false partage d'un service d'impression et non de rép. writeable = yes no no permet ou non l'écriture sur le rép., contraire de read only write list = tous les utilisateurs liste des users autorisés à écrire browseable = yes visibilité du partage par tous, même les users non autorisés 0744 droits maxi accordés à un fichier créé dans la ressource ces droits seront en intersection (and) avec les droits Linux (umask) directory mode mask 0755 = droits maxi accordés à un répertoire créé dans la ressource; ces droits seront en intersection (and) avec les droits Linux (umask) force directory mode = 000 droits imposés lors de la création du rép. composé par un opérateur OR avec les droits usuels force group = Impose un groupe propriétaire d'un fichier lors de sa création dans le partage hide dot files = yes cache les fichiers cachés au sens Linux, commençant par un point hosts allow hosts deny = toutes les stations aucune ressource réservée interdite à la liste des stations (adresses IP) max connections = 0 nb de connexions à la ressource illimité, sinon maxi create mode mask = 10
Imprimantes: Vous devez configurer SAMBA (via le fichier smb.conf) pour qu'il utilise l'impression via CUPS, et fournir un driver à télécharger. Ceci est fait de la manière suivante : [global] load printers = yes printing = cups printcap name = cups [printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes printer admin = root [print$] comment = Printer Drivers path = /etc/samba/drivers browseable = yes guest ok = no read only = yes write list = root CUPS Common UNIX Printing System 1.2.7 Serveur d impression CUPS et drivers windows Monter un serveur d impression CUPS et télédistribuer des drivers vers des clients Windows. Pour administrer CUPS, tapez l'adresse suivante dans votre navigateur : http://localhost:631 Cliquez sur Administration des imprimantes du serveur CUPS : Cliquez sur Administrer imprimantes Cliquez sur Ajouter imprimante pour ajouter une nouvelle imprimante. Il suffit de connaître l adresse IP (ou son emplacement : usb, ) de l imprimante ( éventuellement le protocole et le port utilisé ) : 11
Pour une imprimante réseau qui répond au protocole JetDirect : Il suffit d indiquer l adresse IP Installation des drivers Windows :(?) Pour installer les drivers Windows, dans le partage print$, il faut être connecté sur un client Windows avec un compte permettant l ajout des pilotes : root Dans le voisinage réseau, se déplacer vers le partage "Imprimantes" du serveur : Sélectionner l imprimante et par le menu contextuel sélectionner Propriétés IMPORTANT :si, à la première tentative, le message demandant de récuperer les drivers du serveur apparaît Il faut répondre NON, car dans le cas contraire, les pilotes seront installés sur le poste de travail et non sur le serveur. Sélectionner l onglet Avancés 12
Sélectionner ensuite le pilote d imprimante, ou installer un nouveau pilote par le bouton Nouveau pilote" : Les fichiers du pilote sont alors copiés dans le partage print$ du serveur. Vous pouvez alors configurer le pilote, si le driver le permet. 13
Un exemple de configuration de samba plus détaillé [global] # donner le même nom de groupe de travail que celui des stations Windows 95/98 (Voisinage réseau/identification) workgroup = labo av01 # compte à utiliser pour les accès invités aux partages guest account = nobody ; # accès multi utilisateur share modes = yes ; # restreindre par sécurité les sous réseaux autorisés à se connecter au serveur # ici on se limite aux adresses réseau privé 192.168.0. et à l'interface "loopback" hosts allow = 192.168.0. 127.0.0.1 # ou on peut exclure des machines de l'accès au réseau # hosts allow = 10.177.200. EXCEPT 10.177.200.125 # d'autres possibilités existent : voir le manuel man smb # indique l'adresse IP de l'adaptateur du serveur et le masque de sous réseau interfaces = 10.6.49.0/255.255.255.0 # Définir cups comme gestionnaire de toutes les imprimantes installées sur # le serveur Linux printing = cups printcap name = cups # utiliser un fichier de trace pour chaque machine qui se connecte log file = /var/log/samba/log.%m # important pour autoriser les anonymes map to guest = Bad User # # choisir le mode de sécurité : user ou share security = user security = user: accès aux partages au niveau utilisateur share : niveau ressource Chaque utilisateur de la machine linux pourra utiliser son répertoire personnel depuis une machine windows: [homes] comment = Home Directories valid users = %S create mask = 0700 directory mask = 0700 browseable = No 14
Partager des applications Vous pouvez également partager n importe quel dossier, et cela de différentes façons. Il faut commencer par le nom du partage entre crochets, puis renseigner les différentes règles qui lui seront affectées : [Nom_du_partage] path = /chemin/du/dossier/partagé valid users = etudiant ou public = yes browseable = yes/no writeable = yes/no create mask = 0644 directory mask = 0755 Si vous utilisez la règle "public", n'oubliez pas de décommentez a ligne "guest account" dans la partie "Authentification", et au besoin modifier le compte qui sera utilisé par défaut par les invités. [logiciels] comment = Applications partagées sur le serveur # root doit créer ce répertoire et déléguer sa gestion à un groupe d'utilisateurs. # Dans la suite, ce groupe sera appelé admin (contenant au moins l'utilisateur admin/admin) des droits de propriété et permissions path = /appli public = yes # le rép. doit être en lecture seule pour tous writeable =no # le groupe admin peut seul installer les applications write list = @admin Si le fichier de configuration est valide, vous pouvez alors demander à de relire son fichier de configuration : # /etc/init.d/samba reload Un répertoire commun Dans [global] (rappel) # important pour autoriser les anonymes map to guest = Bad User # Si le client n'arrive pas à s'authentifier, il n'aura accès à aucun partage, même ceux ayant l'option guest ok. On peut changer ce refus d'accès grâce à l'option map to guest. Par défaut cette dernier est désactivée (Never). On peut faire en sorte que toutes connexions échouées se transforme en connexions guest (Bad User). Il faut d'abord le créer et donner les droits à tous le monde (attention aux problèmes de sécurité!!!!) mkdir /var/commun chmod 777 /var/commun Ensuite ajouter dans samba.conf [Commun] path = /var/commun 15
comment = Répertoire accessible à tous writable = yes guest ok = yes #permet de s affranchir de l authentification browseable = yes Création des mots de passes utilisateurs du serveur Créer un utilisateur :useradd pdupont g users Attention, les utilisateurs qui ont été définis sur le serveur n'ont pour l'instant aucun mot de passe SAMBA. smbpasswd a pdupont Désactiver un compte : smbpasswd d pdupont Changer le mot de passe : smbpasswd pdupont Supprimer un compte : smbpasswd x pdupont Lorsque les mots de passe ont été configurés, vous pouvez lancer le serveur SAMBA. les fichiers contenant les mots de passe sont dans /var/lib/samba/ /var/lib/samba # ls -l total 84 -rw------- 1 root root 8192 2005-12-18 21:21 account_policy.tdb -rw------- 1 root root 8192 2005-12-18 21:21 group_mapping.tdb -rw------- 1 root root 8192 2005-12-18 21:21 ntdrivers.tdb -rw------- 1 root root 696 2005-12-18 21:21 ntforms.tdb -rw------- 1 root root 8192 2005-12-18 21:21 ntprinters.tdb -rw------- 1 root root 16384 2005-12-18 21:21 passdb.tdb drwxr-xr-x 4 root root 4096 2005-12-18 21:21 printers -rw------- 1 root root 8192 2005-12-18 21:21 registry.tdb -rw------- 1 root root 8192 2005-12-18 21:21 secrets.tdb -rw------- 1 root root 8192 2005-12-18 21:21 share_info.tdb -rw-r--r-- 1 root root 399 2006-02-10 14:39 wins.dat pdbedit pdbedit <options> En réalité, c'est le programme pdbedit qui gère les comptes présents dans la base de données de SAM. Tous les programmes utilisateurs sont pris en charge, y compris smbpasswd, LDAP, NIS+ et la bibliothèque de base de données tdb. Ci dessous figurent des exemples d'ajout, de suppression et de liste d'utilisateurs : pdbedit a kristin new password: retype new password: Unix username: kristin NT username: Account Flags: [U ] User SID: S 1 5 21 1210235352 3804200048 1474496110 2012 Primary Group SID: S 1 5 21 1210235352 3804200048 1474496110 2077 Full Name: Home Directory: \\wakko\kristin 16
HomeDir Drive: Logon Script: Profile Path: \\wakko\kristin\profile Domain: WAKKO Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: Mon, 18 Jan 2038 22:14:07 GMT Kickoff time: Mon, 18 Jan 2038 22:14:07 GMT Password last set: Thu, 29 Jan 2004 08:29:28 GMT Password can change: Thu, 29 Jan 2004 08:29:28 GMT Password must change: Mon, 18 Jan 2038 22:14:07 GMT pdbedit v L kristin Unix username: kristin NT username: Account Flags: [U ] User SID: S 1 5 21 1210235352 3804200048 1474496110 2012 Primary Group SID: S 1 5 21 1210235352 3804200048 1474496110 2077 Full Name: Home Directory: \\wakko\kristin HomeDir Drive: Logon Script: Profile Path: \\wakko\kristin\profile Domain: WAKKO Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: Mon, 18 Jan 2038 22:14:07 GMT Kickoff time: Mon, 18 Jan 2038 22:14:07 GMT Password last set: Thu, 29 Jan 2004 08:29:28 GMT Password can change: Thu, 29 Jan 2004 08:29:28 GMT Password must change: Mon, 18 Jan 2038 22:14:07 GMT pdbedit L andriusb:505: joe:503: lisa:504: kristin:506: pdbedit x joe pdbedit L andriusb:505: lisa:504: kristin:506: 17
Voir la liste des «vrais» utilisateurs En pratique, pdbedit L affiche tous les utilisateurs, systèmes compris donc il faut éliminer tous ceux qui ont un id inférieur à 1000 ( test $USERUID gt 999) #!/bin/bash clear pdbedit L while read ligne do # Donne l'uid utilisateur USERUID=`echo $ligne cut f2 d:` #attention aux apostrophes inversées test $USERUID gt 999 && echo $ligne cut f1 d: done ############################################################## Remarque : la commande smbpasswd an invite permet de créer l'utilisateur samba invite sans mot de passe. Exemple de script permettant de créer un utilisateur toto sans mot de passe : useradd toto (crée un utilisateur toto) passwd uf toto (permet de se connecter à toto sans mot de passe) smbpasswd an toto (permet de créer un utilisateur samba toto sans mot de passe) Remarque : Si on a créé des utilisateurs samba sans mots de passe, il faut le déclarer dans le fichier de configuration /etc/samba/smb.conf. Pour cela, on écrit null passwords = yes dans la section «global settings» option [global]. 18
Utiliser smbclient Voir les partages de l'ordinateur ordi1 smbclient L nom_dns_ou_netbios_du_contrôleur_de_domaine U login_windows Pour voir les partages de l'ordinateur ordi1 : smbclient L ordi1 U login_windows exemple une machine xp s'appelle pc prof et possède un utilisateur mic smbclient L pc prof U mic Password: Domain=[LABO AV02] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Sharename Type Comment IPC$ IPC IPC distant logiciels libres nov 2007 Disk Bur1 Disk ADMIN$ Disk Administration à distance C$ Disk Partage par défaut Domain=[LABO AV02] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] Server Comment Workgroup Master On voit les deux répertoires partagés 19
Voir les partages en mode console: smbc Pour l'installer : # apt get install smbc L'interface est de style ftp (à gauche le local, à droite le distant) Touches : g : Boîte de scan du réseau s : Liste de téléchargement a : sélection du fichier en surbrillance d : lancement des transferts Il détecte tous les partages (à condition au moins de connaître l'ip de l'ordinateur si il a un partage mal géré sous Win). 20
Sécurité Le protocole SMB utilise les port 137, 138 et 139 pour diffuser les différents partages. Il faut donc rajouter les règles suivantes pour éviter de les voir disponible depuis Internet malgré la configuration n'autorisant que la plage d'adresses de notre LAN à y accéder : # iptables A FORWARD p tcp sport 137:139 o $OUTSIDE j DROP # iptables A OUTPUT p tcp sport 137:139 o $OUTSIDE j DROP # iptables A FORWARD p udp sport 137:139 o $OUTSIDE j DROP # iptables A OUTPUT p udp sport 137:139 o $OUTSIDE j DROP 21
Swat (pour ceux qui aiment!) SWAT ( Web Administration Tool) est installé avec samba et vous permet d'administrer les partages SMB via un simple navigateur web. L'accès total pour cette administration doit se faire avec le compte root et par défaut, sous Ubuntu, ce compte est désactivé. Donc il vous faudra l'activer. Configuration de swat : La configuration de samba est sauvegardée dans /etc/samba/smb.conf, vous pouvez donc l'éditer et le modifier à votre guise. Je m'attacherai ici, à la configuration assistée par swat, un outil convivial livré avec samba. Si vous utilisez Debian ou Slackware (et la plupart des autres distributions), vous pouvez faire en sorte que ce soit le super daemon inetd qui lance swat quand il faut, pour cela, editez le fichier /etc/services et vérifiez qu'il contient la ligne : swat 901/tcp #SWAT ainsi que le fichier /etc/inetd.conf qui doit contenir la ligne suivante : swat stream tcp nowait.400 root /usr/sbin/swat swat Si vous utilisez xinetd, Vous devrez toujours éditer /etc/services comme indiqué plus haut. Faites ensuite une entrée dans Swat sous xinetd avec : sudo vi /etc/xinetd.d/swat Ca devrait alors ressembler à ceci : # description: SAMBA SWAT service swat { disable = no socket_type = stream protocol = tcp #should use a more limited user here user = root wait = no server = /usr/sbin/swat } redémarrez inetd ou xinetd pour que les modifications soient prises en charge, par l'une ou l'autre de ces commades : # /etc/rc.d/init.d/inetd restart # /etc/rc.d/init.d/xinetd restart ou, sudo dpkg reconfigure xinetd pour redémarrer avec la nouvelle configuration. A présent, netstat lt 22
devrait renvoyer quelque chose qui ressemble à ceci : Active Internet connections (only servers) Proto Recv Q Send Q Local Address Foreign Address State tcp 0 0 *:5666 *:* LISTEN tcp 0 0 localhost:1026 *:* LISTEN tcp 0 0 localhost:1027 *:* LISTEN tcp 0 0 *:swat *:* LISTEN tcp 0 0 localhost:mysql *:* LISTEN tcp 0 0 *:netbios ssn *:* LISTEN tcp 0 0 *:10000 *:* LISTEN tcp 0 0 *:1040 *:* LISTEN tcp 0 0 *:munin *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp 0 0 *:microsoft ds *:* LISTEN tcp6 0 0 *:2080 *:* LISTEN tcp6 0 0 *:www *:* LISTEN tcp6 0 0 *:ssh *:* LISTEN Connexion à SWAT Pour se connecter à SWAT, lancez votre navigateur web et rentrez l'adresse: http://mon_adresse_ip:901 voir un exemple http://www.trustonme.net/didactels/103.html 23