Post on 15-Sep-2018
Le voisinage réseau Windows sous Linux
voir http://www.newbielinux.fr/Samba3x.html (mort?)
SambaSMBServer Message Block.................................................................................................................3NETBIOS (Network Basic Input/Output System)................................................................................3
"Master Browser" (Maitreexplorateur de réseau Microsoft)......................................................3Common Internet File System .............................................................................................................4
La couche réseau utilisée par CIFS : TCP/IP ou NetBIOS..............................................................4Différents dialectes.....................................................................................................................4
Domaine Name Service DNS...............................................................................................................4Domain Name Service – DNS Domain Name System.......................................................................4
Quelques commandes utiles ............................................................................................................5Internetwork packet exchange ipx (ancien)..........................................................................................6spx Sequenced Packet Exchange..........................................................................................................6Voisinage ou favoris réseau = exploration du réseau :.........................................................................7
Se connecter en réseau Windows (résumé) :..............................................................................7 Avec l'icône Réseau :..................................................................................................................7Avec le menu Démarrer :...........................................................................................................7A propos du "Master Browser" (Maitreexplorateur de réseau Microsoft).................................7
Installer Samba.....................................................................................................................................8Paquet : samba .....................................................................................................................................8démarrer ...............................................................................................................................................8Les commandes utiles...........................................................................................................................9
Ubuntu.........................................................................................................................................9SERVEUR: Configuration du fichier smb.conf...................................................................................9
Petit truc trouvé sur internet:...........................................................................................................9Les variables de samba..................................................................................................................12Les principaux paramètres d'une section partagée.........................................................................13Imprimantes:..................................................................................................................................14
CUPS.........................................................................................................................................14Installation des drivers Windows :(?)........................................................................................15
Un exemple de configuration de samba plus détaillé.....................................................................16Partager des applications................................................................................................................16
Samba 1
Un répertoire commun...................................................................................................................17 Création des mots de passes utilisateurs du serveur Samba..............................................................18
pdbedit............................................................................................................................................18Voir la liste des «vrais» utilisateurs...........................................................................................20
Utiliser smbclient...........................................................................................................................21Voir les partages de l'ordinateur ordi1.......................................................................................21
Pour télécharger le fichier fichier1.txt disponible dans le partage partage1 de l'ordinateur ordi1 :........................................................................................................................................................21Pour déposer le fichier fichier3.txt sur le partage incoming partagée en écriture par l'ordinateur ordi3 :.............................................................................................................................................22Pour changer son mot de passe du voisinage réseau Windows :....................................................22en mode graphique.........................................................................................................................22Voir les partages en mode console: smbc ??..................................................................................23
Sécurité...............................................................................................................................................24Swat (pour ceux qui aiment!).............................................................................................................24Configuration de swat :.......................................................................................................................24
Connexion à SWAT........................................................................................................................25
Samba 2
SMBServer Message BlockLe 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'appuyait sur NetBEUI (NetBios Extended User Interface ) ainsi que TCP/IP.
Dans Windows NT 4, il est appelé CIFS (Common Internet File System). Dans Vista et 7, il est appelé SMB 2
TCP/IP est implémenté sur la plupart des systèmes d'exploitation (Unix, Linux, AmigaOS, MacOS, OS/2, ...). selon le schéma suivant :
ApplicationsSMB
NetBIOSTCP/IP NetBEUI
IPX/SPX
Pilote Réseau
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)
Il utilise les ports réseaux 135, 137, 138, 139 (tant en TCP qu'en UDP).
NetBios permet de donner un nom dans les favoris réseaux et partages à l'aide d'adresses de type \\ordinateur\dossier partagé. Ceci explique q'il est encore souvent utilisé dans les réseaux .
Un nom Netbios peut inclure les caractères alphanumériques standards (pas les caractères accentués, espaces, nombres, caractères ! @ # $ % ^ & ' ( ) . _ { } ~. Il est limité à 15 caractères.
Le port 445 est utilisé par Windows 2000 et suivants (XP)
"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
Samba 3
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)
Common Internet File System En 1998, Microsoft renomme SMB en CIFS (Common Internet File System)
CIFS est l' évolution du protocole « SMB », c'est ce nouveau protocole qui est utilisé par MS Windows 2000 pour permettre le partage de fichiers et périphériques sur des réseaux IP .
Dans Vista et 7, il est à nouveau appelé SMB 2
La couche réseau utilisée par CIFS : TCP/IP ou NetBIOSSMB a été à l’origine conçu pour tourner par dessus une des implémentations de Netbios (NetBEUI ou NBT), mais il peut aussi tourner directement sur TCP/IP depuis Windows 2000.
Différents dialectesLa plupart des clients Windows prennent en charge au moins six différents dialectes du protocole SMB de Microsoft, si l'une des premières étapes pour établir une connexion entre un client et un serveur en utilisant protocole SMB de Microsoft est de déterminer le dialecte le plus haut niveau de fonctionnalités que le client et serveur de support. Ce processus est connu comme "la négociation du dialecte.". Chaque dialecte est identifiée par une chaîne telle que "PC NETWORK PROGRAM 1.0", "MICROSOFT NETWORKS 3.0", "DOS LANMAN 2.1", ou "NT LM 0.12".
Domaine Name Service DNSMéthode utilisée par les réseaux Microsoft (2000 et postérieurs) (Domaine Name Service).
Domain Name Service – DNS Domain Name SystemLe protocole DNS assure la correspondance entre le nom d'une machine et son adresse IP. Un serveur DNS est en écoute par défaut sur le UDP port 53.
Avec l'arrivée de Windows Vista et de 7, Microsoft a mis au point une version 2 du protocole plus rapide. Le protocole est de nouveau nommé SMB (SMB 2).
Samba 4
SMB fonctionne via une structure de client/serveur, le client va envoyer des requêtes spécifiques et le serveur de fichiers va y répondre. Le protocole est optimisé pour une utilisation dans un réseau local, mais il peut aussi être utilisé sur Internet (la plupart des attaques simples sous Windows ont pour source cette raison).
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.
138NetBios 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 NetbiosFonctionnalité 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
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
Samba 5
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 (ancien)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 interré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 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.
Samba 6
Voisinage ou favoris réseau = exploration du réseau :
Se connecter en réseau Windows (résumé) :
Il y a deux façons de se connecter en réseau :
Avec l'icône Réseau :
L'icône Réseau est le moyen le plus simple pour accéder aux dossiers et fichiers partagés sur un autre ordinateur.Cependant, c'est une solution lente et aléatoire (parfois, l'ordinateur distant ou les dossiers partagés n'apparaissent pas aussitôt, alors que le partage existe)
Avec le menu Démarrer :La solution la plus rapide et la plus efficace est d'utiliser la commande Exécuter du menu Démarrer
- menu Démarrer, Exécuter...,
- taper :deux backslash : \\
puis :l'adresse IP de l'autre ordinateur (exemple : 192.168.0.2)
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),
Samba 7
Samba 3.5 permet aux systèmes UNIX d'utiliser le même protocole de partage de fichiers que celui de Windows Vista ou 7. Une avancée importante pour ce projet open source.
Installer SambaLa suite de logiciels Samba 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 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 Samba (affichage des serveurs
Samba 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 Samba
Paquet : samba Sambaclient : Client Unix pour samba sambacommon : Fichiers samba utilisés communément par le serveur et le clientsambaserver # aptget install samba sambacommon smbclient smbfs swat sambadoc
swat n'a rien à voir là, c'est un utilitaire de configuration
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 statussmbd (pid 1054) is running...nmbd (pid 1056) is running...
Samba 8
Les commandes utiles(à partir du terminal en root)
testparm /etc/samba/smb.conf Test de syntaxe d'écriture du fichier smb.conf
/etc/rc.d/init.d/smb stop Stop les services Samba
/etc/rc.d/init.d/smb start Démarre le serveur Samba
/etc/rc.d/init.d/smb restart Redémarrage de Samba
/smbstatus Affiche les connexions actives via Samba
Ubuntuservice smbd status smbd start/running, process 1524 ou ps ax|grep nmbd 2610 ? Ss 0:00 nmbd D ps ax|grep smbd 1524 ? Ss 0:00 smbd F 1700 ? S 0:00 smbd F
SERVEUR: Configuration du fichier smb.confIl 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
[nom_du_partage]
Permet de définir un partage qui ici s'appellera nom_du_partage. Après vous définissez ce que vous 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
Samba 9
profitez de la vérification pour créer le vrai smb.confPour 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 testparm. Par suite, il contiendra votre configuration mais tous les commentaires auront disparu :p!
Le fichier de configuration luimê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:[global]
workgroup = LABO-AV01netbios name = prof #Nom Netbios de la machine (le nom Windows). server string = %h serverobey pam restrictions = Yespassdb backend = tdbsampasswd program = /usr/bin/passwd %upasswd chat = *Enter\snew\sUNIX\spassword:* %n\n
*Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .syslog = 0log file = /var/log/samba/log.%mmax log size = 1000dns proxy = Nopanic action = /usr/share/samba/panic-action %dinvalid 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 = cupsprintcap name = cups
[homes]comment = Home Directoriesvalid users = %S #seul le propriétaire du répertoire peut s’y connecter (“valid users = %S”). read only = Nocreate mask = 0700directory mask = 0700browseable = No
Samba 10
[printers]comment = All Printerspath = /var/spool/sambacreate mask = 0700printable = Yesbrowseable = No
[print$]comment = Printer Driverspath = /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 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
Samba 11
Les variables de samba
Variable Définition
Variables du client
%a Architecture du clientExemple: Win95, WfWg, WinNT, Samba ...
%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 Samba
%L Nom NetBios du serveur Samba
%v Version de Samba
Variables diverses
%T La date et l'heure courantes
Samba 12
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(ancien nom : public)
no partage en accès libre sans authentification
valid users = tous liste des users autorisés à se connecter à la ressource
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
create mode | mask = 0744
droits maxi accordés à un fichier créé dans la ressourceces 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 = 000droits 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 allowhosts deny =
toutes les stationsaucune
ressource réservée|interdite à la liste des stations (adresses IP)
max connections = 0 nb de connexions à la ressource illimité, sinon maxi
Samba 13
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 windowsMonter 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:631Cliquez sur Administration des imprimantes du serveur CUPS :Cliquez sur Administrer imprimantesCliquez sur Ajouter imprimante pour ajouter une nouvelle imprimante.
Il suffit de connaître l’adresse IP (ou son emplacement : usb, …) de l’imprimante ( éventuellement leprotocole et le port utilisé ) :
Samba 14
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 : rootDans 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îtIl faut répondre NON, car dans le cas contraire, les pilotes seront installés sur le poste de travail et nonsur le serveur. Sélectionner l’onglet ’Avancés’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.
Samba 15
Un exemple de configuration de samba plus détaillé[global] # donner le même nom de groupe de travailque celui des stations Windows 95/98 (Voisinage réseau/identification)workgroup = laboav01
# compte à utiliser pour les accès invités aux partagesguest account = nobody ;
# accès multi utilisateur share modes = yes ;
# restreindre par sécurité les sousré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éseauinterfaces = 10.6.49.0/255.255.255.0
# Définir cups comme gestionnaire de toutes les imprimantes installées sur # le serveur Linux
printing = cupsprintcap name = cups
# utiliser un fichier de trace pour chaque machine qui se connectelog file = /var/log/samba/log.%m
# important pour autoriser les anonymes
map to guest = Bad User
#
# choisir le mode de sécurité : user ou sharesecurity = 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 Directoriesvalid users = %Screate mask = 0700directory mask = 0700browseable = No
Partager des applicationsVous pouvez également partager n’importe quel dossier, et cela de différentes façons.
Samba 16
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 = yesbrowseable = yes/no writeable = yes/nocreate mask = 0644directory 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 à Samba de relire son fichier de configuration :
# /etc/init.d/samba reload
Un répertoire communDans [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/communchmod 777 /var/commun
Ensuite ajouter dans samba.conf[Commun] path = /var/commun comment = Répertoire accessible à tous writable = yes
guest ok = yes #permet de s’affranchir de l’authentification
Samba 17
browseable = yes
Création des mots de passes utilisateurs du serveur SambaCréer un utilisateur :useradd pdupont g users
Attention, les utilisateurs qui ont été définis sur le serveur Samba 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 -ltotal 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.tdbdrwxr-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.
Cidessous figurent des exemples d'ajout, de suppression et de liste d'utilisateurs :
pdbedit a kristinnew password:retype new password:Unix username: kristinNT username:Account Flags: [U ]User SID: S15211210235352380420004814744961102012Primary Group SID: S15211210235352380420004814744961102077Full Name:Home Directory: \\wakko\kristinHomeDir Drive:Logon Script:Profile Path: \\wakko\kristin\profileDomain: WAKKO
Samba 18
Account desc:Workstations:Munged dial:Logon time: 0Logoff time: Mon, 18 Jan 2038 22:14:07 GMTKickoff time: Mon, 18 Jan 2038 22:14:07 GMTPassword last set: Thu, 29 Jan 2004 08:29:28 GMTPassword can change: Thu, 29 Jan 2004 08:29:28 GMTPassword must change: Mon, 18 Jan 2038 22:14:07 GMT
pdbedit v L kristinUnix username: kristinNT username:Account Flags: [U ]User SID: S15211210235352380420004814744961102012Primary Group SID: S15211210235352380420004814744961102077Full Name:Home Directory: \\wakko\kristinHomeDir Drive:Logon Script:Profile Path: \\wakko\kristin\profileDomain: WAKKOAccount desc:Workstations:Munged dial:Logon time: 0Logoff time: Mon, 18 Jan 2038 22:14:07 GMTKickoff time: Mon, 18 Jan 2038 22:14:07 GMTPassword last set: Thu, 29 Jan 2004 08:29:28 GMTPassword can change: Thu, 29 Jan 2004 08:29:28 GMTPassword must change: Mon, 18 Jan 2038 22:14:07 GMT
pdbedit Landriusb:505:joe:503:lisa:504:kristin:506:
pdbedit x joe
pdbedit Landriusb:505:lisa:504:kristin:506:
Samba 19
Voir la liste des «vrais» utilisateursEn 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/bashclearpdbedit L |while read lignedo # 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].
Samba 20
Utiliser smbclient
Voir les partages de l'ordinateur ordi1 smbclient L nom_DNS_ou_NetBIOS_du_contrôleur_de_domaine U login_WindowsPour voir les partages de l'ordinateur ordi1 :
smbclient L ordi1 U login_Windows
exemple une machine xp s'appelle pcprof et possède un utilisateur mic
smbclient L pcprof U mic Password: Domain=[LABOAV02] 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=[LABOAV02] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
Workgroup Master On voit les deux répertoires partagés
Pour télécharger le fichier fichier1.txt disponible dans le partage partage1 de l'ordinateur ordi1 :% smbclient //ordi1/partage1 U login_Windows
smb: \> ls
smb: \> cd répertoire_distant
smb: \> lcd répertoire_local
smb: \> get fichier1.txt
smb: \> quit
Samba 21
Pour déposer le fichier fichier3.txt sur le partage incoming partagée en écriture par l'ordinateur ordi3 :% smbclient //ordi3/incoming U login_Windows
smb: \> put fichier3.txt
smb: \> quit
Pour changer son mot de passe du voisinage réseau Windows :% smbpasswd r nom_DNS_ou_NetBIOS_du_contrôleur_de_domaine U login_Windows
en mode graphiqueVoir http://www.commentcamarche.net/faq/6694partagerundossieravecwindowssousubuntu
Samba 22
Voir les partages en mode console: smbc ??Pour l'installer :# aptget 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).
problemes sous ubuntu +
Samba 23
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
Swat (pour ceux qui aiment!)SWAT (Samba 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 #SWATainsi que le fichier /etc/inetd.conf qui doit contenir la ligne suivante : swat stream tcp nowait.400 root /usr/sbin/swat swatSi 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 :
Samba 24
# /etc/rc.d/init.d/inetd restart # /etc/rc.d/init.d/xinetd restartou, sudo dpkgreconfigure xinetd
pour redémarrer avec la nouvelle configuration.
A présent, netstat lt
devrait renvoyer quelque chose qui ressemble à ceci : Active Internet connections (only servers) Proto RecvQ SendQ 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 *:netbiosssn *:* 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 *:microsoftds *:* LISTEN tcp6 0 0 *:2080 *:* LISTEN tcp6 0 0 *:www *:* LISTEN tcp6 0 0 *:ssh *:* LISTEN
Connexion à SWATPour 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
Samba 25