logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
atelier:chantier:samba-partage-reseau [12/09/2014 11:43]
Hypathie créée
atelier:chantier:samba-partage-reseau [27/04/2023 11:41] (Version actuelle)
lagrenouille [Mise en place d'un partage de fichiers]
Ligne 5: Ligne 5:
   * Commentaires : Sur un LAN partage de fichiers entre différents OS    * Commentaires : Sur un LAN partage de fichiers entre différents OS 
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>en-chantier à-tester à-placer}} -  Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]].+  * Suivi : {{tag>obsolète}} -  Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]].
     * Création par [[user>​Hypathie]] 12/09/2014     * Création par [[user>​Hypathie]] 12/09/2014
     * Testé par <...> le <​...> ​     * Testé par <...> le <​...> ​
-  * Commentaires sur le forum : [[:url-invalide ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) +  * Commentaires sur le forum : [[https://debian-facile.org/​viewtopic.php?​pid=248105#​p248105 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
  
Ligne 16: Ligne 16:
 =====Introduction ===== =====Introduction =====
 ====Qu'​est-ce que samba ? ==== ====Qu'​est-ce que samba ? ====
-Samba est un logiciel libre sous licence GPL, permettant de supporter le protocole //​SMB/​CIFS//​ le partage de ressources réseau.\\+Samba est un logiciel libre sous licence GPL, permettant de supporter le protocole //​SMB/​CIFS// ​pour le partage de ressources réseau.\\
  
 Le partage réseau a été développé par IBM en 1985 pour OS/2 et s'​appelait alors LAN Manager. Il a ensuite été mis en avant par Microsoft sous le nom de //SMB// pour en faire un tout nouveau protocole de partage. Il a été appelé aussi //CIFS// (Common Internet File System ) entre 1998 et 2006, et a encore été renommé sous le nom de //SMB2// pour la sortie de Windows Vista et conserve ce nom jusqu'​à Windows 8.\\ Le partage réseau a été développé par IBM en 1985 pour OS/2 et s'​appelait alors LAN Manager. Il a ensuite été mis en avant par Microsoft sous le nom de //SMB// pour en faire un tout nouveau protocole de partage. Il a été appelé aussi //CIFS// (Common Internet File System ) entre 1998 et 2006, et a encore été renommé sous le nom de //SMB2// pour la sortie de Windows Vista et conserve ce nom jusqu'​à Windows 8.\\
Ligne 27: Ligne 27:
 On le doit d'​abord aux travaux de rétro-ingénierie d'​[[http://​fr.wikipedia.org/​wiki/​Andrew_Tridgell|Andrew Tridgel]] qui est son principal développeur. Depuis 2007, et la fermeture des spécifications //SMB// le développement et les performances de samba ne cessent de se développer. ​ On le doit d'​abord aux travaux de rétro-ingénierie d'​[[http://​fr.wikipedia.org/​wiki/​Andrew_Tridgell|Andrew Tridgel]] qui est son principal développeur. Depuis 2007, et la fermeture des spécifications //SMB// le développement et les performances de samba ne cessent de se développer. ​
  
 +<note warning>​**tuto Obsolète**</​note>​
  
-====Configuration générale du serveur debian====+====La structure de samba ==== 
 + 
 +=== Comment se lance samba ?=== 
 +Il peut être lancé soit soit par des daemons directs, par inetd qui est le plus sécurisé mais avec un temps de latence plus long. 
 + 
 +  * Avec le daemon smbd (Server Message Block Daemon) : 
 +Dans cas il s'agit du partage réseau. 
 + 
 +  * Avec nmbd (NetBios Name Service Daemon): 
 +Dans ce cas il s'agit du serveur WINS. 
 + 
 +===Les ports utilisés par samba=== 
 + 
 +  * TCP et UDP 137 : NetBIOS Name Service 
 +  * UDP 138 : NetBios Datagram Service 
 +  * TCP 139 : NetBIOS Session Service 
 +  * TCP et UDP 445 : Services de dossiers partagés Windows 
 + 
 + 
 +=====Mise en place d'un partage de fichiers ===== 
 +====Configuration générale du système sur lequel on installe samba====
 Prenons, pour exemplifier une configuration simple, une machine virtuelle sur laquelle il a été installé un serveur Debian. Prenons, pour exemplifier une configuration simple, une machine virtuelle sur laquelle il a été installé un serveur Debian.
  
Ligne 35: Ligne 56:
 <​code>​debian-1</​code>​ <​code>​debian-1</​code>​
 >​Attention à la confusion entre serveur (samba ou autre) installé sur un système qui reste malgré tout "​l'​hôte",​ on va dire de ce système. >​Attention à la confusion entre serveur (samba ou autre) installé sur un système qui reste malgré tout "​l'​hôte",​ on va dire de ce système.
 +
 +  * __L'​utilisateur principal du système__ :
 +<code user>​echo $USER</​code>​
 +<​code>​first-user</​code>​
  
   * __Son adresse IP__ :   * __Son adresse IP__ :
-<code root>ip a s eth0</​code>​+<code root>ip a s eth0</​code> ​ou mettez votre interface, exemple: 
 +<code root> ip a enp2s0 </​code>​ 
 <​code>​ <​code>​
 <...> <...>
Ligne 45: Ligne 72:
 >Il s'agit d'une machine virtuelle avec accès par pont dont l'​adresse IP a été préalablement fixée par le serveur DHCP au niveau du FAI. >Il s'agit d'une machine virtuelle avec accès par pont dont l'​adresse IP a été préalablement fixée par le serveur DHCP au niveau du FAI.
  
-  * __L'​utilisateur principal du système__ : +====Pré-requis ​à l'​installation du serveur samba====
-<code root>​echo $USER</​code>​ +
-<​code>​first-user</​code>​ +
- +
-====Pré-requis ====+
  
 ===Création d'un compte user pour le partage de fichier=== ===Création d'un compte user pour le partage de fichier===
Ligne 66: Ligne 89:
  
 <code root>​chown -R hypathie:​hypathie /​home/​hypathie/</​code>​ <code root>​chown -R hypathie:​hypathie /​home/​hypathie/</​code>​
 +> -R (récursivement) pour que le dossier déjà créé dans ce répertoire appartienne aussi à l'​utilisateur et au groupe "​hypathie"​.
 +> Voir : [[doc:​systeme:​chown]]
 +
 +<code root>​chmod -R 770 /​home/​hypathie/</​code>​
 +
 +> Pour donner les droits de lecture, écriture et exécution à l'​utilisateur "​hypathie"​ sur tous fichiers et dossiers créés dans ce dossier.
 +> On peut aussi donner les droits de lecture pour les "​autres"​ 775.
 +> Voir [[doc:​systeme:​droits-unix]] et [[doc:​systeme:​droits-unix-bis]]
 +> Et [[doc:​systeme:​chmod]]
 +
 +===== Installation de samba serveur=====
 +
 +<code root>​apt-get update</​code>​
 +
 +<code root>​apt-get install samba</​code>​
 +
 +====Configuration simple pour partage de fichiers entre Windows et Debian====
 +===Les fichiers samba ===
 +<code root>ls /etc/samba </​code>​
 +Le fichier de configuration est **''​smb.conf''​**.
 +
 +===Sauvegarde de smb.conf ===
 +<code root>#Se placer dans le répertoire /etc/samba
 +cd /etc/samba
 +mv smb.conf smb.conf-OLD</​code>​
 +
 +===Édition de smb.conf ===
 +<code root>vim smb.conf</​code>​
 +
 +<code text /​etc/​samba/​smb.conf>​
 +[global]
 +
 + ​workgroup = WORKGROUP ​        # par défaut et à laisser tel quel
 + ​netbios name = debian-1 ​      # nom du serveur visible sur le poste client Windows
 +
 + ​server string = %h server ​    # nom du serveur samba
 +
 + hosts allow = 192.168.0. 127. # ajouté et à modifier selon l'IP du réseau local
 +
 + ​security = user               # à décommenter
 +   
 + bind interfaces only = yes    # mettre "​yes"​ pour utiliser le choix des interfaces (ligne au dessous)
 + ​interfaces = 192.168.0.15/​24 ​ # Pour éviter le wifi, on peut mettre à la place de l'​IP/​masque,​ le nom de l'​interface "​eth0:​0"​
 +
 +
 +
 +[hypathie] ​                    # ajouté et à modifier selon le répertoire de partage ​
 +path = /​home/​hypathie/ ​        # créé sur le système lors de la création d'un nouvel utilisateur
 +read only = no
 +browseable = yes
 +writeable = yes
 +valid users = hypathie
 +write list = hypathie
 +create mask = 0700      # droits posix (octal = 0 devant 700): lecture, écriture, exécution pour l'​utilisateur seulement
 +directory = 700
 +force user = nobody ​   # surtout si on partage la racine
 +force group = nogroup
 +</​code>​
 +<note tip>
 +**__Le fichier ''/​etc/​samba/​smb.conf''​ est constitué par section.__**\\ ​
 +Les sections principales sont :
 +
 +  * **[global]** : paramètres généraux (indiqué par un G dans le man).
 +Les paramètres obligatoires sont :
 +
 +  workgroup = MON-GROUPE  ​
 +
 +> Et il faut aller sur Windows créer un groupe du même nom 
 +>ou utiliser WORKGROUP qui le nom par défaut sur Windows
 +
 +  netbios name = Nom-du-serveur-samba
 +
 +  server string = serveur %h  ​
 +
 +  security = user        # mise en place de la politique d'​authentification
 +  encrypt passwords = true
 +
 +> À savoir sur **''​security''​** : Le mode "​user"​ est le plus intéressant,​ mais il y a d'​autres modes d'​authentification que la mise en place d'un mot de passe utilisateur chiffré.
 +> Le mode **''​domain''​** passe par workgroup qui définit un contrôleur de domaine. ​
 +> Le mode "​server"​ a été déprécié,​ il ne faut pas l'​utiliser.
 +> Il y a aussi le ADS qui se base sur Active Directory. Il faut alors définir un "​[[http://​igm.univ-mlv.fr/​~duris/​NTREZO/​20032004/​Debon-Victor-Kerberos-v10.pdf|realm]]"​((''​real = son.kerberos.REALM''​)) et le mot de passe du serveur d'​authentification ((''​passwd server = son.kerberos.server''​))
 +
 +
 +  * **[partage]** : nom d'un partage (tout les paramètres indiqués par un S dans le man, également compatibles avec la section global). ​
 +On l'a appelé dans l'​exemple [hypathie]. Les paramètres essentiels sont :
 +
 +  path = /​chemin/​de_ce_répertoire/​à_partager_sur_le_réseau
 +
 +> Attention aux droits placés sur le répertoire et ses sous-répertoires et fichiers
 +> Il est bon pour la sécurité de mettre en place une politique de partage :
 +
 +> **lecture / écriture** avec **''​read only''​** : 
 +> No ou Yes pour ne pas permettre ​ ou permettre l'​écriture.\\ Restriction de l'​écriture à un utilisateur ou une liste précisée avec\\ **''​read only = Yes''​** et en dessous **''​write list = user1, user2, ...''​**
 +
 +> **Restriction de l'​accès au partage à un ou plusieurs utilisateur ou à un groupe** :
 +>​**''​valid users = user1, user2, @group1101''​**
 +> Pour forcer tous les utilisateurs à être reconnu comme un seul utilisateur du système : **''​force user = nobody''​**\\ et **''​force group = nogroup''​**.
 +> Comme cela si quelqu'​un vient sur le partage, il a les droits de tout autre utilisateur,​ et ne peut aller à la racine.\\ ​
 +
 +> **Les droits au niveau de samba**:
 +> Les droits UNIX surchargent les droits samba, mais samba a besoin qu'on lui spécifie les droits appliqués par défaut sur les fichiers de partages créés.
 +
 +> Droits à la création des **fichiers** ​
 +> Par exemple pour lecture, écriture, exécution pour utilisateur et son groupe, et lecture, exécution pour les autres :
 +  create mask = 0775
 + 
 +> Droits (POSIX) à la création des **dossiers** \\ Rappel, pour se déplacer dans un répertoire,​ c'est l'​exécution,​ pour créer, supprimer renommer un fichier d'un répertoire niveau dossier, c'est l'​écriture,​ et la lecture c'est l'​ouverture d'un fichier.
 +>Pour lecture, écriture, exécution pour utilisateur seulement:
 +  create mask = 700
 +
 +
 +  * **[printers]** et **[print$]** : partage d'​imprimantes
 +
 +  * **[homes]** : partage du répertoire personnel des utilisateurs
 +
 +**__Variables de substitution du fichier de configuration smb.conf__**\\ ​
 +Le caractère **%** permet de substituer les variables.
 +
 +  * %U : Nom de l'​utilisateur\\ ​
 +  * %G : Groupe de l'​utilisateur\\ ​
 +  * %h : Nom du serveur Samba\\ ​
 +  * %m : Nom NetBIOS du client Samba\\ ​
 +  * %L : Nom NetBIOS du serveur Samba\\ ​
 +  * %M : Le nom internet du client\\ ​
 +  * %a : Type de la machine cliente\\ ​
 +  * %I : IP de la machine cliente\\ ​
 +  * %i : IP local de la machine cliente\\ ​
 +  * %T : Date et heure courante\\ ​
 +  * %D :Nom de domaine\\ ​
 +  * %I : IP de la machine cliente\\ ​
 +
 +
 +Par exemple, si dans [global] de cet exemple on mettait :
 +
 +  server string serveur %h : samba %v
 +
 +Il s'​affichera "​**serveur debian-1 : samba la version de samba**"​.
 +
 +**__Références__** :\\ 
 +    * Doc : [[http://​www.samba.org/​samba/​docs/​man/​manpages-3/​smb.conf.5.html]]
 +    * En français [[http://​web.mit.edu/​rhel-doc/​4/​RH-DOCS/​rhel-rg-fr-4/​s1-samba-servers.html]]
 +    * En anglais : [[http://​www.mirabellug.org/​docs/​samba/​c105.html]]
 +    * Autre exemple expliqué : [[http://​vpicot.fr/​tutoriels/​17-installation-et-configuration-de-samba-sur-debian-lenny]]
 +
 +</​note>​
 +===Vérifier la syntaxe du fichier de configuration ===
 +
 +<code root>​testparm smb.conf</​code>​
 +
 +===Ré-initialisation de samba ===
 +
 +Sur Wheezy et précédents:​
 +
 +<code root>​service samba restart</​code>​
 +
 +Sur Jessie et suivant:
 +
 +<code root>​systemctl restart samba</​code>​
 +
 +===Ajout d'un compte user dans samba ===
 +Ce compte doit correspondre à un compte utilisateur existant du système debian. Il faut en créer pour des raison de sécurité.\\ ​
 +La commande suivante se charge d'en créer un dans les données de samba.\\ Il faut donner un mot de passe pour le compte samba, qui est différent du mot de passe UNIX qui a été demandé quand on a utilisé la commande **''​adduser nouvel-utilisateur''​**.
 +
 +<code root>​smbpasswd -a hypathie</​code>​
 +
 +<note tip>
 +
 +  * Pour lister les utilisateurs samba :
 +
 +<code root>​smbpasswd -L</​code>​
 +
 +  *Pour désactiver un utilisateur :
 +
 +<code root>​smbpasswd - d utilisateur</​code>​
 +
 +  *Pour supprimer un utilisateur :
 +<code root>​smbpasswd - x utilisateur</​code>​
 +
 +</​note>​
 +
 +===== Côté client Windows =====
 +===Groupe de travail ===
 +  * Sur le client windows :
 +
 +Démarrer -> clic droit sur "​Ordinateur"​ -> "​Propriétés"​\\ ​
 +
 +On voit : **''​Groupe de travail :   ​WORKGROUP''​**
 +
 +
 +===Activer partage réseau===
 +
 +Démarrer -> Panneau de configuration -> Centre réseau et partage -> Groupe résidentiel -> Modifier les paramètre de partage avancé...\\ ​
 +
 +  * Résidentiel (doit être sélectionné) :
 +
 +-> Activé le partage réseau\\ ​
 +-> Autoriser Windows à gérer les connexions des groupes résidentiels.\\ ​
 +
 +  * Public (doit être sélectionné) :
 +
 +-> Activé la découverte du réseau\\ ​
  
-<code root>​chmod 770 /​home/​hypathie/</​code>​+===Accéder au serveur samba ===
  
-<code root>chmod 770 /​home/​hypathie/​public/</​code>+Démarrer -Ordinateur -Réseau\\ ​
  
 +DEBIAN-1 apparaît\\
  
 +Double-clic sur debian-1 -> double-clic sur hypathie-partage -> double-clic sur ''​public''​.\\
  
 +Créer un fichier, par exemple "​coucou-samba"​.
  
 +===Vérification ===
 +Sur le serveur samba le fichier créé depuis Windows est bien là. Et peut être édité depuis l'un ou l'​autre poste.
 +<code user>ls /​home/​hypathie/​public/​
 +coucou-samba.txt</​code>​
  
atelier/chantier/samba-partage-reseau.1410515036.txt.gz · Dernière modification: 12/09/2014 11:43 par Hypathie

Pied de page des forums

Propulsé par FluxBB