Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:monterpartagewindows [Le 01/05/2020, 19:19]
90.116.72.227 [Modifier le fichier fstab de montage des partitions]
tutoriel:monterpartagewindows [Le 27/12/2023, 12:04] (Version actuelle)
bruno [3ème méthode : systemd] correction erreur grossiére systemd
Ligne 3: Ligne 3:
 ====== Monter des partages Windows au démarrage ====== ====== Monter des partages Windows au démarrage ======
  
-Bien qu’Ubuntu ​permette ​de se connecter à un dossier partagé sur un PC fonctionnant avec Windows de manière très simple, //via// la commande « Se connecter au serveur » du menu Raccourcis, cela ne résout pas tous les problèmes. En effet, certaines applications et non des moindres ([[:​LibreOffice]] par exemple) ne savent pas utiliser ces connexions réseaux pour ouvrir les fichiers.+Ubuntu ​permet ​de se connecter à un dossier partagé sur un PC fonctionnant avec Windows de manière très simple, //via// la commande « Se connecter au serveur » du menu Raccourcis ​de Nautilus.
  
-Il est donc nécessaire pour ces applications de « monter »,​ c’est-à-dire d’accrocher, les dossiers partagés par d’autres ordinateurs fonctionnant sous Windows //dans un répertoire de l’arborescence ​de fichiers d’Ubuntu//, de façon à ce que les fichiers qui s’y trouvent soient directement accessibles pour toutes les applications. Comme s’ils étaient sur la partition du disque dur où Ubuntu est installé.+De manière générale, les gestionnaires ​de fichiers ​en mode graphique permettent ​d’accéder aux partages via <​code>​smb:​//adresse_du_serveur</​code>​ ou en passant par la section « Réseaux ».
  
-Pour ce faire, il y a trois méthodes. La, première classique et simple, consiste à utiliser le fichier fstab de montage des partitions. La seconde, plus avancée et utilisant la bibliothèque libpam-mount,​ est un peu plus complexe, mais offre en contre partie beaucoup plus de possibilités.\\+On peut cependant vouloir effectuer un montage permanent de ce type de ressource. 
 + 
 +Pour ce faire, il y a trois méthodes. La, première classique et simple, consiste à utiliser le fichier fstab de montage des partitions. ​\\ 
 +La seconde, plus avancée et utilisant la bibliothèque libpam-mount,​ est un peu plus complexe, mais offre en contre partie beaucoup plus de possibilités.\\ 
 +Enfin la dernière s'​appuie sur systemd et ses unités de montage.
  
-Enfin la dernière s'​appuie sur autosfs avec CIFS : 
-[[:​autofs|AutoFS - montage automatique de systèmes de fichier]] 
  
 __Remarques__ :​ On pourra se reporter avec intérêt aux pages \\ __Remarques__ :​ On pourra se reporter avec intérêt aux pages \\
Ligne 17: Ligne 19:
 [[https://​help.ubuntu.com/​community/​MountWindowsSharesPermanently]]\\ [[https://​help.ubuntu.com/​community/​MountWindowsSharesPermanently]]\\
 [[:​mount_fstab|mount et fstab : Le montage des systèmes de fichiers]] \\ [[:​mount_fstab|mount et fstab : Le montage des systèmes de fichiers]] \\
-[[http://​g-scripts.sourceforge.net/​cat-filesysmgt.php]] et utiliser le script nautilus "Mount Samba Share" 
  
 ===== 1ère méthode : l’utilisation du fichier fstab ===== ===== 1ère méthode : l’utilisation du fichier fstab =====
Ligne 23: Ligne 24:
 ==== Installation des paquets nécessaires ==== ==== Installation des paquets nécessaires ====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez ​les paquets]] suivant sur votre système s'il ne le sont pas déjà ​(il ne fait pas partie des paquets installés par défaut) : +[[:​tutoriel:​comment_installer_un_paquet|Installez ​le paquet]] suivant ​ : **[[apt>​cifs-utils]]** ​sur votre système s'il ne l'​est ​pas déjà. Ils ne fait pas partie des paquets installés par défaut. 
-**[[apt>​samba,​cifs-utils]]**+
 ==== Monter les partages distants ==== ==== Monter les partages distants ====
  
 Dans une console tapez la commande suivante :​ Dans une console tapez la commande suivante :​
   sudo mkdir /​media/​partage   sudo mkdir /​media/​partage
-pour créer le répertoire de montage local des fichiers distants. Ce répertoire peut aussi être placé dans le répertoire par défaut /mnt mais il n’y aura pas de raccourci direct dans nautilus.+pour créer le répertoire de montage local des fichiers distants. Ce répertoire peut aussi être placé dans le répertoire par défaut /mnt mais il n’y aura pas de raccourci direct dans nautilus. Et en principe /mnt est dédié aux montages temporaires.
  
 Avant tout, il est conseillé de commencer par vérifier que vous arrivez bien à monter le partage en ligne de commande, exemple : Avant tout, il est conseillé de commencer par vérifier que vous arrivez bien à monter le partage en ligne de commande, exemple :
-<​code>​sudo mount -t cifs -o username=utilisateur_ubuntu,​rw,​iocharset=utf8,​file_mode=0777,dir_mode=0777 //​adressIP_serveurFichier/​repertoireSource /​media/​partage</​code>​+<​code>​sudo mount -t cifs -o username=utilisateur_ubuntu,​rw,​iocharset=utf8,​file_mode=0660,dir_mode=0770 //​adressIP_serveurFichier/​repertoireSource /​media/​partage</​code>​
 si vous n’avez besoin que d’un accès en lecture, c'est plus simple : si vous n’avez besoin que d’un accès en lecture, c'est plus simple :
 <​code>​sudo mount -t cifs -o guest,​iocharset=utf8 //​adressIP_serveurFichier/​repertoireSource /​media/​partage</​code>​ <​code>​sudo mount -t cifs -o guest,​iocharset=utf8 //​adressIP_serveurFichier/​repertoireSource /​media/​partage</​code>​
  
 On crée ensuite un fichier dans lequel on stocke l’identifiant et le mot de passe pour se connecter sur le PC distant. Le but de cette création est de faire en sorte que l'​identifiant et le mot de passe n'​apparaissent pas directement dans le fichier fstab, qui, par défaut, est accessible en lecture par tout utilisateur. C'est le minimum à faire pour limiter la visibilité des mots de passe. On crée ensuite un fichier dans lequel on stocke l’identifiant et le mot de passe pour se connecter sur le PC distant. Le but de cette création est de faire en sorte que l'​identifiant et le mot de passe n'​apparaissent pas directement dans le fichier fstab, qui, par défaut, est accessible en lecture par tout utilisateur. C'est le minimum à faire pour limiter la visibilité des mots de passe.
-Pour cela, on commence par lancer Gedit en mode super utilisateur :​ faites Alt+F2 ou cliquez sur « Lancer une application » dans le menu Applications. Dans la boîte de dialogue, saisir : 
-  gksudo gedit 
  
-Quand on vous le demande, entrez votre mot de passe. Enregistrez le fichier créé dans le répertoire ​ /root, sous le nom **.smbcredentials** +Pour créer le fichier et l’ouvrir avec [[:​nano|nano]] ​il suffit de saisir dans un [[:​terminal]] la ligne suivante :<​code>​sudo ​nano /​root/​.smbcredentials</​code>​
-<note tip>​**__Astuce__ :​** +
-Pour créer le fichier et l’ouvrir avec l’éditeur de fichier par défaut (quel que soit l’environnement de bureau), ​il suffit de saisir dans un [[:​terminal]] la ligne suivante :<​code>​sudo ​touch /​root/​.smbcredentials && sudo xdg-open ​/​root/​.smbcredentials</​code></​note>+
  
 Dans ce fichier, ajouter les trois lignes suivantes :​ Dans ce fichier, ajouter les trois lignes suivantes :​
Ligne 51: Ligne 48:
 </​file>​ </​file>​
  
-Enregistrez ce fichier ​mais ne quittez pas Gedit.+Enregistrez ce fichier ​(Ctrl+O).
  
  
Ligne 62: Ligne 59:
   * Dossier local où on va monter ce partage : /​media/​partage   * Dossier local où on va monter ce partage : /​media/​partage
  
-Toujours dans Gedit, ouvrir ​le fichier /​etc/​fstab ​(faites attention à ce que vous faites. N’oubliez pas que vous êtes en mode Super utilisateur !) ​et ajoutez-y une ligne de ce type : //​(L’option **iocharset=utf8** permet l’utilisation du jeu de caractères UTF-8, ce qui corrige les problèmes de noms de dossiers et fichiers accentués)//​.+Ouvrez ​le fichier /​etc/​fstab ​
 +<​code>​sudo nano /​etc/​fstab</​code> ​et ajoutez-y une ligne de ce type : //​(L’option **iocharset=utf8** permet l’utilisation du jeu de caractères UTF-8, ce qui corrige les problèmes de noms de dossiers et fichiers accentués)//​.
 <​file>//​192.168.1.2/​Partage /​media/​partage cifs credentials=/​root/​.smbcredentials,​iocharset=utf8 0 0</​file>​ <​file>//​192.168.1.2/​Partage /​media/​partage cifs credentials=/​root/​.smbcredentials,​iocharset=utf8 0 0</​file>​
 Ou : Ou :
Ligne 69: Ligne 67:
  
 Le fichier credentials peut ne pas suffire à avoir accès en écriture, il faut alors ajouter l’utilisateur qui se connecte et les droit chmod sur les répertoire et fichiers :​ Le fichier credentials peut ne pas suffire à avoir accès en écriture, il faut alors ajouter l’utilisateur qui se connecte et les droit chmod sur les répertoire et fichiers :​
-<​file>//​192.168.1.2/​Partage /​media/​partage cifs uid=nom_utilisateur_ubuntu,​dir_mode=0777,​file_mode=0777,​credentials=/​root/​.smbcredentials,​iocharset=utf8 0 0</​file>​+<​file>//​192.168.1.2/​Partage /​media/​partage cifs uid=nom_utilisateur_ubuntu,​dir_mode=0777,​file_mode=0666,​credentials=/​root/​.smbcredentials,​iocharset=utf8 0 0</​file>​
  
 Dans le cas d’un __**partage dont le nom contient une espace**__, ajouter la ligne comme ceci : Dans le cas d’un __**partage dont le nom contient une espace**__, ajouter la ligne comme ceci :
Ligne 84: Ligne 82:
  
  
-FIXME 
-Les utilisateurs de **Xubuntu** devront utiliser cette méthode pour accéder aux partages réseaux. Voici un petit récapitulatif de la procédure :​ 
-  *Installer **samba** et **smbfs** avec Synaptic 
-  *Créer les répertoires où vont être montés les partages :​ 
-    *///​media/​PC1/​images//​ 
-    *///​media/​PC1/​musiques//​ 
-  *Modifier le fichier fstab : 
-  gksudo mousepad /etc/fstab 
-  *Rajouter à la fin du fichier l’adresse du PC distant, les dossiers à monter, et où les monter : 
-<​file>​ 
-//​192.168.0.2/​images /​media/​PC1/​images smbfs guest,​iocharset=utf8 0 0 
-//​192.168.0.2/​musiques /​media/​PC1/​musiques smbfs guest,​iocharset=utf8 0 0 
-</​file>​ 
-  *Redémarrer 
  
 === Permissions et appropriation des fichiers et répertoires === === Permissions et appropriation des fichiers et répertoires ===
 [[http://​manpages.ubuntu.com/​manpages/​utopic/​en/​man8/​mount.cifs.8.html|traduit de la page ubuntu.com sur les options cifs]]\\ [[http://​manpages.ubuntu.com/​manpages/​utopic/​en/​man8/​mount.cifs.8.html|traduit de la page ubuntu.com sur les options cifs]]\\
-Le protocole CIFS ne fournit pas d'​informations ​unix sur le propriétaire et le mode pour les fichiers et répertoires. De ce fait, les fichiers et répertoires sont définis par les valeurs associées aux options //uid=// et //gid=// , et aux persmissions ​définies par les options //​file_mode//​ et //​dir_mode//​ lors du montage. Tenter de modifier ces valeurs avec chmod/chown fonctionne mais est sans effet.\\ +Le protocole CIFS ne fournit pas d'​informations ​UNIX sur le propriétaire et les permissions ​pour les fichiers et répertoires. De ce fait, les fichiers et répertoires sont définis par les valeurs associées aux options //uid=// et //gid=// , et aux permissions ​définies par les options //​file_mode//​ et //​dir_mode//​ lors du montage. Tenter de modifier ces valeurs avec chmod/chown fonctionne mais est sans effet.\\ 
-Quand le client et le serveur négocient les extensions ​unix, les fichiers et répertoires seront affectés aux valeurs //uid//, //gid// et mode défini par le serveur. Comme le montage CIFS est généralement utilisé par un utilisateur unique avec le même "//​credentials//",​ les nouveaux fichiers et répertoires créés lui sont associés quelque-soit le "//​credentials//"​ utilisé lors du montage.\\+Quand le client et le serveur négocient les extensions ​UNIX, les fichiers et répertoires seront affectés aux valeurs //uid//, //gid// et mode défini par le serveur. Comme le montage CIFS est généralement utilisé par un utilisateur unique avec le même "//​credentials//",​ les nouveaux fichiers et répertoires créés lui sont associés quelque-soit le "//​credentials//"​ utilisé lors du montage.\\
 Si les options //uid// et //gid// utilisées ne correspondent pas entre le client et le serveur, les options //​forceuid//​ et //​forcegid//​ peuvent être utiles. Notez cependant qu'il n'y a pas d'​équivalent pour le mode, ce qui entraîne que les permissions affectées à un fichier (ou répertoire) affecté par //uid/gid// ne correspondent pas forcément aux véritables autorisations!\\ Si les options //uid// et //gid// utilisées ne correspondent pas entre le client et le serveur, les options //​forceuid//​ et //​forcegid//​ peuvent être utiles. Notez cependant qu'il n'y a pas d'​équivalent pour le mode, ce qui entraîne que les permissions affectées à un fichier (ou répertoire) affecté par //uid/gid// ne correspondent pas forcément aux véritables autorisations!\\
-Quand les extensions ​unix ne sont pas négociées,​ il est également possible de les émuler localement sur le serveur en utilisant l'​option de montage "//​dynperm//"​. Si cette option est active, les nouveaux fichiers et répertoires recevront des permissions appropriées... mais en général, cette option est déconseillée.\\+Quand les extensions ​UNIX ne sont pas négociées,​ il est également possible de les émuler localement sur le serveur en utilisant l'​option de montage "//​dynperm//"​. Si cette option est active, les nouveaux fichiers et répertoires recevront des permissions appropriées… mais en général, cette option est déconseillée.\\
 Il est aussi possible de remplacer les permissions sur le client via l'​option "//​noperm//"​. Les contrôle de permissions réalisées côté serveur ne peuvent pas être remplacées. Elle correspondent toujours au "//​credentials//"​ utilisées lors du montage et non à l'​utilisateur qui accède au partage. Il est aussi possible de remplacer les permissions sur le client via l'​option "//​noperm//"​. Les contrôle de permissions réalisées côté serveur ne peuvent pas être remplacées. Elle correspondent toujours au "//​credentials//"​ utilisées lors du montage et non à l'​utilisateur qui accède au partage.
 ===== 2ème méthode :​ utilisation de la bibliothèque libpam-mount ===== ===== 2ème méthode :​ utilisation de la bibliothèque libpam-mount =====
  
-<note warning>​FIXME cette méthode contient des options comme fmask, dmask qu'on ne retrouve plus dans [[http://​manpages.ubuntu.com/​manpages/​precise/​en/​man8/​smbmount.8.html|les pages d'​options]] </​note>​ 
 ==== Installation des paquets nécessaires ==== ==== Installation des paquets nécessaires ====
  
  
-Grâce à [[:Synaptic]], installez les paquets suivants ​sur votre système s’ils ​ne le sont pas déjà ​(ils ne font pas partie des paquets installés par défaut) : +[[:tutoriel:​comment_installer_un_paquet|Installez le paquet]] suivant  : **[[apt>​libpam-mountcifs-utils]]** ​sur votre système s'​il ​ne l'​est ​pas déjà. Ils ne fait pas partie des paquets installés par défaut.
-  *libpam-mount +
-  *cifs-utils+
  
- 
-==== Petite correction sur les droits ==== 
- 
-Afin que tout cela soit faisable, il est nécessaire de modifier légèrement les droits du fichier /​usr/​bin/​smbmount. Pour cela, tapez dans un terminal la commande :​ 
-  sudo chmod +s /​usr/​bin/​smbmount 
- 
-==== Édition des fichiers de configuration ==== 
- 
-Une fois ces deux paquets installés, on fait comme précédemment :​ on lance Gedit en mode superutilisateur avec la commande « Lancer une application » du menu Applications,​ ou Alt+F2. Dans la boîte de dialogue, on saisit : 
-  gksudo gedit 
- 
-On commence par enregistrer le nouveau fichier dans le répertoire **/​etc/​pam.d/​** sous le nom **common-pammount**. 
-<note tip>​**__Astuce__ :​** 
-Pour créer le fichier et l’ouvrir avec l’éditeur de fichier par défaut (quel que soit l’environnement de bureau), il suffit de saisir dans un [[:​terminal]] la ligne suivante :<​code>​sudo touch /​etc/​pam.d/​common-pammount && sudo xdg-open /​etc/​pam.d/​common-pammount</​code></​note>​ 
-Dans ce fichier, ajoutez les deux lignes suivantes et enregistrez-le :​ 
-<​file>​ 
-auth       ​optional ​  ​pam_mount.so use_first_pass 
-session ​   optional ​  ​pam_mount.so ​ 
-</​file>​ 
- 
-**Faites attention à saisir correctement ces deux lignes ! Des erreurs ici risquent de vous empêcher d’ouvrir une session ultérieurement.** 
- 
-Ensuite, ouvrez le fichier **/​etc/​pam.d/​gdm** qui existe déjà et ajoutez à la fin la ligne suivante :​ 
-<​file>​@include common-pammount</​file>​ 
- 
-Si vous utilisez la connexion automatique au démarrage, la modification doit se faire aussi dans le fichier **/​etc/​pam.d/​gdm-autologin**. 
- 
-<note lubuntu> Dans lubuntu 14.04.3 LTS, les fichiers seraient plutôt lightdm et lightdm-autologin.</​note>​ 
- 
-De la même façon, vous trouverez dans ce répertoire toute une série de fichiers correspondants à diverses commandes de connexion ou d’ouverture de session. Si vous ajoutez cette ligne dans l’un de ces fichiers, le montage des partages sera pris en compte. 
- 
-Enregistrez ce fichier. 
- 
-==== Autoriser le démontage des volumes à la fermeture de session ==== 
- 
-Pour cela, il faut modifier le fichier **/​etc/​login.defs**,​ y chercher l’option **CLOSE_SESSIONS** (attention à la casse) et la mettre à la valeur //yes//. 
- 
-<note important>​Important :​ 
-Dans la version 9.04, l’option **CLOSE_SESSIONS** est déclarée comme obsolète. Est-elle remplacée par autre chose ? 
-</​note>​ 
  
 ==== Édition du fichier indiquant les partages à monter ==== ==== Édition du fichier indiquant les partages à monter ====
  
-Toujours dans Gedit, ouvrez ​le fichier **/​etc/​security/​pam_mount.conf**.+Ouvrez ​le fichier **/​etc/​security/​pam_mount.conf.xml** 
 +<​code>​sudo nano /​etc/​security/​pam_mount.conf.xml</​code>​
  
-<note important>​Important :​ Dans la version 9.04 le fichier s’appelle **/​etc/​security/​pam_mount.conf.xml**</​note>​ 
  
 C’est ici qu’on va trouver toutes les options de configuration permettant d’indiquer quels partages on va monter et de quelles manières. C’est ici qu’on va trouver toutes les options de configuration permettant d’indiquer quels partages on va monter et de quelles manières.
  
-Toutes les lignes ​de ce fichier qui commencent par sont en fait des lignes de commentaires ​qui n’engagent aucune action concrète. Ne vous inquiètez pas de ce que vous voyez dans ce fichier : 90% des lignes sont des commentaires explicatifs et il n’y a en fait que très peu de lignes réellement significatives. +Toutes les parties ​de ce fichier qui commencent ​encadrés ​par <!-- et --> ​sont en fait des commentaires ​ou des options inactives
- +La lecture de ces commentaires est utile, car ils vous permettront de comprendre un peu mieux l’utilisation générale de ce système qui ne se limite pas à ce que nous en faisons ici.
-La lecture de ces commentaires ​n’est d'​ailleurs pas vaine, car ils vous permettront de comprendre un peu mieux l’utilisation générale de ce système qui ne se limite pas à ce que nous en faisons ici.+
  
 === Debug et création des répertoires === === Debug et création des répertoires ===
  
-Les deux premières options disponibles dans ce fichier ​sont les suivantes +Dans ce fichier, on trouve entre autres, ces options 
-  *debug +<​file><​debug enable="​0"​ /> 
-  *mkmountpoint+<mkmountpoint ​enable="​1"​ remove="​true"​ /></​file>​ 
  
 La première active le mode //debug// quand on la met à 1. Cela permet d’avoir des messages de retour de l’utilisation. Ce n’est réellement utile que lorsqu’on l’utilise en mode console, mais on peut la laisser à sa valeur par défaut. La première active le mode //debug// quand on la met à 1. Cela permet d’avoir des messages de retour de l’utilisation. Ce n’est réellement utile que lorsqu’on l’utilise en mode console, mais on peut la laisser à sa valeur par défaut.
Ligne 180: Ligne 121:
  
 === Montage de partage spécifique à l'​utilisateur === === Montage de partage spécifique à l'​utilisateur ===
 +Pour cela il vous faut utiliser l'​otion :
 +<​file><​!-- <​luserconf name="​.pam_mount.conf.xml"​ /> --></​file>​
  
-L’option suivante qui nous intéresse est l’option //​luserconf//,​ disponible quelques lignes plus bas. Si vous décommentez ​cette ligne, le nom du fichier que vous mettrez à la suite de cette option sera utilisé pour paramétrer des partages spécifiques à l’utilisateur. Ce fichier sera à placer dans le répertoire personnel de l’utilisateur en question et devra contenir des directives volumes comme nous le verrons plus loin.+ Si vous dé-commentez ​cette ligne (en supprimant <!-- et -->), le nom du fichier que vous mettrez à la suite de cette option sera utilisé pour paramétrer des partages spécifiques à l’utilisateur. Ce fichier sera à placer dans le répertoire personnel de l’utilisateur en question et devra contenir des directives volumes comme nous le verrons plus loin.
  
 === Gestion des options autorisées/​interdites/​obligatoires === === Gestion des options autorisées/​interdites/​obligatoires ===
  
 Les options suivantes qui nous sont utiles sont : Les options suivantes qui nous sont utiles sont :
-  *options_allow +<​file><​!-- 
-  *options_deny +<​mntoptions deny="​suid,​dev"​ /> 
-  *options_require+<​mntoptions allow="​*" /> 
 +<​mntoptions deny="*" /> 
 +--> 
 +<​mntoptions require="​nosuid,​nodev"​ /> 
 +</​file>​
  
-En général, elles seront mises ou laissées en commentaires. Elles permettent d’indiquer quelles options seront interdites, requises et autorisées parmi celles disponibles plus loin dans la directive volume (lisez les commentaires qui les accompagnent si vous voulez vous en servir). Sachez que les options qu’elles concernent sont à rapprocher des options de la commande ​smbmnt ​(qui est utilisée de toute façon ici de manière transparente).+En général, elles seront mises ou laissées en commentaires. Elles permettent d’indiquer quelles options seront interdites, requises et autorisées parmi celles disponibles plus loin dans la directive volume (lisez les commentaires qui les accompagnent si vous voulez vous en servir). Sachez que les options qu’elles concernent sont à rapprocher des options de la commande ​mount.cifs ​(qui est utilisée de toute façon ici de manière transparente).
  
 === Directives de montages des partages === === Directives de montages des partages ===
  
 Voici enfin le point crucial : la création des directives de montage des dossiers distants, par l’indication des directives volumes. La syntaxe d’une telle option pour le montage de volume via [[:​samba|smb]] est la suivante :​ Voici enfin le point crucial : la création des directives de montage des dossiers distants, par l’indication des directives volumes. La syntaxe d’une telle option pour le montage de volume via [[:​samba|smb]] est la suivante :​
-<​file>​volume ​<​utilisateur>​ smbfs <​serveur>​ <partage> <point de montage> <option1,option2,​..optionx- -</​file>​+<​file>​ 
 +  <volume 
 +      fstype="​cifs"​ 
 +      server="​server.example.com"​ 
 +      path="​nom_partage"​ 
 +      mountpoint="/​media/​partage
 +      user="​nom_utilisateur"​ 
 +      uid="​1000-9999"​ 
 +      options="​dir_mode=0700,file_mode=0600"​ 
 +  /> 
 +</​file>​
  
 La signification de chaque élément est la suivante :​ La signification de chaque élément est la suivante :​
-| **<​utilisateur>​** |nom d'​utilisateur à utiliser pour se connecter. Un mécanisme de joker est disponible pour\\ une utilisation générique (voir plus loin). | +| **user** |nom d'​utilisateur à utiliser pour se connecter. Un mécanisme de joker est disponible pour\\ une utilisation générique (voir plus loin). | 
-| **<​serveur>​** |nom ou adresse IP du poste distant sur lequel se situe le partage auquel on veut accéder. | +| **fstype** |Type du système de fichier, dans notre cas toujours cifs. | 
-| **<​partage>​** |nom du partage tel qu'il est défini sur le PC Windows distant. | +| **server** |nom ou adresse IP du poste distant sur lequel se situe le partage auquel on veut accéder. | 
-| **<​point de montage>​** |chemin complet vers le répertoire où l’on veut monter le partage, en fonction de la valeur\\ que l’on a donné à l’option mkmountpoint. Ce dossier sera créé automatiquement ou non. | +| **path** |nom du partage tel qu'il est défini sur le PC Windows distant. | 
-| **<​optionx>​** |les options disponibles pour le montage de ce répertoire. |+| **mountpoint** |chemin complet vers le répertoire où l’on veut monter le partage, en fonction de la valeur\\ que l’on a donné à l’option mkmountpoint. Ce dossier sera créé automatiquement ou non. | 
 +| **uid**  ​       |la plage d'UID utilisateur autorisé à monter ce volume. | 
 +| **options** |les options disponibles pour le montage de ce répertoire. | 
  
-NB : 
-  *les deux tirets à la fin de la ligne sont **absolument indispensables** car ils correspondent à la non-utilisation de paramètres qui sont normalement utilisés dans d’autres cas et inutiles ici (montage de dossiers chiffrés) ;​ 
-  *attention à ne pas confondre les différents paramètres de cette commande. Ils sont à séparer par des espaces. Les différentes options sont séparées les unes des autres par des virgules. 
  
-=== Les jokers pour le nom de l’utilisateur ​===+=== Les variables ​de substitution ​===
  
-On peut remplacer ​le nom de l'​utilisateur par le caractère ''​*''​. Cela signifie que c’est le nom de lutilisateur ​courant qui sera utilisé et dans ce casle caractère ''&'​' ​peut être utilisé pour remplacer ​le nom de l'​utilisateur ​dans d’autres paramètres de la ligne (nom du dossier partagépoint de montage notamment).+Les variables suivantes peuvent être utilisées : 
 +| %(USER) ​        | substituée par le nom de l'​utilisateur ​au moment de la connexion | 
 +| %(GROUP¨) ​      | substituée ​par le groupe ​de l'utilisateur ​au moment de la connexion | 
 +| %(USERUID)%(USERGID) | substituées respectivement par l'UID et le GID de l'​utilisateur
 +| %(USERUID)%(USERGID) | substituées respectivement par l'UID et le GID de l'​utilisateur|
  
 === Les options de montage === === Les options de montage ===
  
-Les options de montage disponibles sont en fait celles de la commande ​smbmnt. Voyez les pages man de cette commande si vous voulez en savoir plus : +Les options de montage disponibles sont en fait celles de la commande ​mount.cifs. Voyez les pages man de cette commande si vous voulez en savoir plus : 
-  man smbmnt+  man mount.cifs
  
-Les plus utiles dans notre cas de figure sont les suivantes :​ 
  
-| **uid** |nom d’utilisateur du propriétaire des fichiers et répertoire partagé | 
-| **gid** |nom du groupe correspondant | 
-| **dmask** |masque de droits des répertoires | 
-| **fmask** |masque de droits des fichiers | 
-| **workgroup** |groupe de travail dans lequel il faut aller chercher le PC distant | 
  
-Vous pouvez tester les options que vous voulez utiliser en faisant d’abord des tests avec la commande smbmnt. Une fois que vous aurez ainsi défini les valeurs correctes des paramètres dont vous avez besoin, il vous sera beaucoup plus facile de paramétrer correctement ce fichier.+===== 3ème méthode :​ systemd =====
  
-=== Quelques exemples ​de directives volumes ===+[[:​systemd]] permet aussi de monter des espaces de stockages distants soit au démarrage du système, soit à la demande (automount) 
 +Le montage à la demande est effectué dès qu'un utilisateur tente d’accéder au point de montage.
  
-Montage ​d’un répertoire distant accessible à tous les utilisateurs : +Il existe pour ceci 2 types d'​unité ​: //mount// et //​automount//​.
-<​file>​volume * smbfs wrksrv Commun ​/media/Doc-Commun uid=&,​gid=commun,​dmask=777,​fmask=777,​workgroup=workgroup - -</file>+
  
-Description des paramètres et options utilisées : +Avec les [[:sudo|droits d'​administration]],​ [[:tutoriel:​comment_modifier_un_fichier|créez un fichier]] dans le répertoire ''​/etc/systemd/system/'​' ​qui aura le nom du chemin dans lequel vous voulez monter le stockage, avec l'​extension ''​.mount''​ en remplaçant les ''/'' ​par des ''​-''​. Par ex. pour ''/​media/​monserveur/​partage''​ le fichier sera ''/​etc/​systemd/​system/​media-monserveur-partage.mount''​. Il contiendra ceci :
- Serveur ​ wrksrv +
- Partage Commun  +
- Point de montage : /media/Doc-Commun (l’intérêt de le monter dans /media est de le faire apparaître dans les raccourcis) +
- option uid=utilisateur courant +
- gid= groupe commun regroupant tous les utilisateurs du PC +
- workgroup = c'est ici le nom du groupe de travail ​par défaut de Windows+
  
-Montage d’un partage regroupant des dossiers spécifiques à chaque utilisateur :​ +<​file ​/etc/systemd/system/​media-monserveur-partage.mount>​ 
-<file>volume * smbfs wrksrv Users /home/&/Doc-Utilisateur uid=&,gid=&,​dmask=777,​fmask=777,​workgroup=workgroup - -</​file>​+[Unit] 
 +Description=partage 
 +StartLimitIntervalSec=0
  
-Ceci est un autre exemple dont l’idée ​est de donner accès ​à un partage qui regroupe des répertoires spécifiques à chaque utilisateur ​(on ne peut pas monter directement ​un sous-répertoire d’un ​partage. ​Seuls les partages eux-mêmes sont montables).+[Mount] 
 +Type=cifs 
 +What=//​monserveur/​partage 
 +Where=/​media/​monserveur/​partage 
 +Options=uid=0,​credentials=/​root/​.smb,​iocharset=utf8,​vers=3.0 
 +TimeoutSec=10 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 +</​file>​ 
 + 
 +Ce fichier ​est à adapter. Il permet ​de définir le point de montage, ainsi que les options liées ​à SMB/CIFS (en particulier concernant les permissions). Ici les identifiants d'​accès sont définis dans un fichier ''/​root/​.smb'' ​(voir //​[[:​samba#​montage_automatique|SMB credentials]]//​). 
 + 
 +Pour le montage à la demande, il faut créer une deuxième unité du type ''​automount'',​ en créant ​un autre fichier au même endroit, avec le même nom, mais l'​extension ''​.automount''​. Cet autre fichier aura le contenu suivant : 
 + 
 +<file - /​etc/​systemd/​system/​media-monserveur-partage.automount>​ 
 +[Unit] 
 +Description=Automount partage 
 + 
 +[Automount] 
 +Where=/​media/​monserveur/​partage 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 +</​file>​
  
-Pour cela, on utilise comme //gid// le groupe du même nom que l’utilisateur,​ créé automatiquement par Ubuntu. Les droits sont ici en libre accès, mais les dossiers distants qui ne sont pas configurés comme accessibles pour l’utilisateur ne lui seront pas accessibles (en fait, il ne verra pas le contenu et ne pourra pas y accéder). 
  
-De même, l’utilisation du joker ''&''​ permet ​de monter ce partage directement dans le répertoire personnel de l’utilisateur.+Pour avoir un montage automatique au démarrageil faut d'​activer uniquement ​l'unité ​de montage :
  
-N’oubliez pas que vous pouvez en plus configurer des partages spécifiques à chaque utilisateur,​ grâce à la directive luserconf vue précédemment.+<​code>​ 
 +sudo systemctl enable media-monserveur-partage.mount 
 +</​code>​
  
 +Pour avoir un montage automatique à la demande, il faut activer uniquement l'​unité automount
 +<​code>​
 +sudo systemctl enable media-monserveur-partage.automount
 +</​code>​
 ===== Que faire en cas de problèmes ?​ ===== ===== Que faire en cas de problèmes ?​ =====
 <note tip>​S’il y a des erreurs au démarrage, vous pouvez les retrouver dans le fichier **syslog** qui se trouve dans **/​var/​log** </​note>​ <note tip>​S’il y a des erreurs au démarrage, vous pouvez les retrouver dans le fichier **syslog** qui se trouve dans **/​var/​log** </​note>​
  • tutoriel/monterpartagewindows.1588353554.txt.gz
  • Dernière modification: Le 01/05/2020, 19:19
  • par 90.116.72.227