LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


debian:montage_de_disques_reseaux_sous_samba_avec_cifs

Différences

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

Lien vers cette vue comparative

debian:montage_de_disques_reseaux_sous_samba_avec_cifs [2018/11/17 13:52] (Version actuelle)
Ligne 1: Ligne 1:
 +*Source : "Les recettes linux de Tyrtamos"​*
  
 +=====Montage de disques réseaux sous samba avec "​cifs"​====
 +
 +[testé avec opensuse 10.2, debian etch et Windows XP SP2 (désolé, je n'ai pas Vista!)]
 +====Problématique====
 +
 +Samba permet de partager des fichiers et des imprimantes entre linux et Windows, parce qu'il correspond au protocole de Windows: **netbios**.
 +
 +On peut accéder aux répertoires partagés en utilisant les navigateurs de fichiers (konqueror et nautilus). Par exemple, en utilisant le protocole “smb:/” à donner comme adresse à konqueror. Mais certains programmes linux (ex: programmes pour écouter des mp3) n'​acceptent pas d'y accéder parce que ce n'est pas un vrai montage. Il faut alors **monter le répertoire partagé dans l'​arborescence de linux**, de façon à pouvoir y accéder: c'est l'​objet du présent tuto.
 +
 +Le pilote samba **smbfs** qui permettait de monter des répertoires partagés, est progressivement remplacé par **cifs**. Sur l'​opensuse 10.2, seul cifs fonctionne. Sur la debian etch, on peut encore utiliser les 2. On utilisera ici uniquement “cifs”.
 +====Montage d'un répertoire partagé public====
 +===Configuration du serveur samba-netbios===
 +==Serveur netbios Windows XP==
 +
 +Pour que le partage de répertoires soit “public” (accès sans mot de passe), il faut qu'il y ait l'​option activée “utiliser le partage de fichier simple”.
 +
 +Sur Windows XP “home”, on n'a pas le choix, c'est la seule option possible.
 +
 +Sur Windows XP “pro”, c'est dans: Explorateur Windows → menu “outils” → option des dossiers → onglet “affichage” → ligne “utiliser le partage de fichier simple” → la case doit être cochée.
 +
 +Windows a par défaut un répertoire partagé public (lecture-écriture) appelé sous Windows “Mes documents partagés”. Si on ne met pas un autre nom pour le réseau, il apparait comme “SharedDocs”. Je l'ai changé chez moi en “Documents”.
 +
 +En fait, n'​importe quel répertoire peut être partagé.
 +
 +Pour cela, avec l'​Explorateur Windows, clic droit sur le répertoire à partager → partage et sécurité. Il y a 3 choses à faire:
 +
 +    * cocher la case pour partager
 +    * mettre alors un nom de partage
 +    * dire si on accepte que les machines éloignées aient ou pas le droit d'​écriture
 +
 +==Serveur samba Linux==
 +
 +Il faut que le serveur samba soit installé (le client samba est, lui, souvent installé par défaut).
 +
 +Pour le configurer, vous utilisez le logiciel de votre choix: swat par exemple.
 +
 +Vous pouvez déclarer un répertoire partagé avec simplement konqueror sous KDE: clic droit → propriétés → onglet “partage”.
 +
 +En tout cas, dans le fichier de configuration du serveur samba qui est: /​etc/​samba/​smb.conf:​
 +
 +    * Dans le bloc commençant par ”[nomdupartage]”,​ il doit y avoir “guest ok = Yes” car c'est ça qui permettra l'​accès sans mot de passe.
 +
 +    * Il est aussi possible que dans le bloc commençant par ”[global]”,​ il soit nécessaire qu'il y ait : “security = user”.
 +
 +===Configuration du client samba-netbios===
 +==client Windows XP==
 +
 +Avec l'​explorateur Windows, on peut toujours accéder aux répertoires partagés du réseau par: “favoris réseau” → “tout le réseau” → “réseau microsoft windows” → noms netbios des réseaux locaux → noms netbios des machines → noms de partage des répertoires partagés. C'est l'​analogue du protocole “smb:/” de konqueror dans linux.
 +
 +Pour “monter” un répertoire partagé sous Windows, il faut utiliser l'​Explorateur Windows et le menu “outils” → “connecter un lecteur réseau”. Il vient une petite fenêtre qui permet de parcourir le réseau, de choisir le répertoire partagé disponible, et de l'​affecter à une lettre (V: par ex.) encore disponible. On peut en plus demander que désormais, la connexion soit établie à chaque boot.
 +
 +Et c'est tout: après cela, l'​Explorateur Windows présentera ce répertoire partagée comme un nouveau disque dans l'​arborescence (par ex. V:\).
 +==client linux==
 +
 +Il faut, bien sûr, que le client samba soit installé.
 +
 +Prenons un cas simpliste. La commande suivante (en console sous root):
 +
 +<​code>#​ mount -t cifs -o guest //​192.168.0.99/​Documents /​media/​partwin</​code>​
 +
 +fera le montage (on ne peut pas espérer plus simple)!
 +
 +Commentaires sur la commande:
 +
 +    * guest: c'est ça qui permettra de ne pas demander de mot de passe (pour l'​accès aux répertoires publics)
 +    * 192.168.0.99:​ c'est l'​adresse IP locale du PC qui a mis un répertoire en partage public
 +    * Documents: c'est le nom “réseau” du répertoire partagé
 +    * /​media/​partwin:​ le répertoire partwin doit avoir été créé avant.
 +
 +Commentaires sur le résultat de la commande:
 +
 +    * tous les fichiers et tous les répertoires ont été affectés à root:root (c'est normal, c'est root qui a fait le montage)
 +    * avec des droits “rwxrwxrwx” (777) pour les répertoires,​ et bizarrement rwxrwSrwt pour les fichiers (=767 avec setgid et stiky bit!).
 +    * bizarrement aussi, ces mêmes droits seront affichés, même si vous avez interdit le droit d'​écriture sur le répertoire partagé (mais l'​écriture ne se fera pas heureusement!).
 +    * pas de correction d'​encodage:​ les caractères accentués des noms de fichiers ne sont pas affichés correctement
 +
 +Corrigeons tout cela avec:
 +
 +    * Pour affecter le répertoire partagé à tyrtamos:​users,​ au lieu de root:root, on ajoute les options: “uid=tyrtamos,​gid=users”. On pourrait mettre aussi les nombres correspondant à l'​utilisateur comme uid=1000 et gid=100.
 +
 +    * Pour avoir les bons droits affichés, on ajoute les options: “file_mode=0666,​dir_mode=0777”,​ ce qui permettra en plus d'​éviter l'​exécution de programmes binaires. Bien sûr, si on n'a pas le droit d'​écriture,​ il faut mettre: “file_mode=0444,​dir_mode=0555”. Une plus grande restriction des droits serait très artificielle puisqu'​on accéde à un répertoire partagé public.
 +
 +    * Pour avoir un affichage correct des caractères accentués, on ajoute l'​option “iocharset=utf8” ou “iocharset=iso8859-1” ou encore “iocharset=iso8859-15” (le dernier, c'est pour avoir l'​Euro) selon votre configuration:​ vous prenez celui qui marche.
 +
 +NB: si on définit file_mode=0666,​dir_mode=0777,​ on peut laisser la propriété des fichiers à root:root!
 +
 +Cela donne au final l'une des lignes possibles:
 +
 +<​code>#​ mount -t cifs -o guest,​file_mode=0666,​dir_mode=0777,​iocharset=utf8 //​192.168.0.99/​Documents /​media/​partwin</​code>​
 +
 +Et pour une ligne dans fstab:
 +
 +<​code>//​192.168.0.99/​Documents /​media/​partwin cifs guest,​file_mode=0666,​dir_mode=0777,​iocharset=utf8 ​ 0 0</​code>​
 +
 +Avec la ligne dans fstab, on peut aussi ajouter “noauto” de façon à ne déclencher le montage que si on sait que la machine distante est allumée:
 +
 +<​code>//​192.168.0.99/​Documents /​media/​partwin cifs noauto,​guest,​file_mode=0666,​dir_mode=0777,​iocharset=utf8 ​ 0 0</​code>​
 +
 +Au lieu de noauto, on peut aussi utiliser l'​option “soft” qui permet aux logiciels qui accédent au répertoire partagé de ne pas “planter” si l'​accès est impossible, mais seulement de renvoyer une erreur. Ce qui donnera au final pour fstab (=c'​est la ligne que j'​utilise):​
 +
 +<​code>//​192.168.0.99/​Documents /​media/​partwin cifs guest,​soft,​file_mode=0666,​dir_mode=0777,​iocharset=utf8 ​ 0 0</​code>​
debian/montage_de_disques_reseaux_sous_samba_avec_cifs.txt · Dernière modification: 2018/11/17 13:52 (modification externe)