Montage particulier d'une partition

Tags: #<Tag:0x00007f4e637e8a48> #<Tag:0x00007f4e637e8908>

Bonjour,

Quand on veut faire des points de montage particulier, c’est toujours la croix et la bannière pour un peu tout le monde.

Il existe des options qui sont très peut utilisées qui sont les options X-*.
On trouve leur description dans man mount

Par exemple, pour mon Elasticsearch, je veux que le répertoire /var/lib/elasticsearch soit sur une partition dédiée.

Seulement voilà, les options sont les suivantes:

# stat /var/lib/elasticsearch/
  Fichier : /var/lib/elasticsearch/
   Taille : 4096      	Blocs : 8          Blocs d'E/S : 4096   directory
Périphérique : 254/11	Inœud : 2           Liens : 3
Accès : (2750/drwxr-s---)  UID : (  110/elasticsearch)   GID : (  116/elasticsearch)

Comme on le sait, faire un point de montage avec des utilisateurs/groupes spécifique c’est toujours compliqué, et quand on plus on doit y mettre comme ici un setgid, ce n’est pas simple. D’autant que l’option setgid n’existe pas pour ext4.

Avec les options X-* c’est simple, dans /etc/fstab il suffit de mettre:

/dev/mapper/vgelk-var_lib_elasticsearch	/var/lib/elasticsearch	ext4	relatime,nodev,nosuid,X-mount.owner=110,X-mount.group=116,X-mount.mode=2750	0	2

X-mount.owner: c’est l’utilisateur propriétaire une fois monté
X-mount.group: c’est le groupe propriétaire une fois monté
X-mount.mode: Ce sont les droits une fois montés.

Les options X-* agissent comme des commande une fois la partition montée. Quand on utilise des sticky bits, c’est très utile.

Et plus de bataille entre, root/pas root, user/pas user, etc…

Alors pensez-y!

4 J'aime

L’option incroyable qu’on ne voit jamais !

1 J'aime

je commence à l’utiliser de plus en plus. Ça marche plutôt bien, et ça résout pas mal de problèmes.

Je vais l’utiliser dans le cadre d’un projet perso avec libpam-mount.

Salut.

Belle « trouvaille » !

J’essaye de comprendre le fonctionnement, donc je parle à voix haute…

Je lis :

These options are not stored in user space (e.g., mtab file), nor sent to the mount. type helpers nor to the mount(2) system call.

Donc, ces options X-* ne sont pas enregistrées ; alors pourquoi ne pas utiliser plutôt les options x-* qui elles le sont, d’autant que selon leur définition, elles permettent aussi l’usage au-travers d’autres exécutables/opérations :

The same as X- * options, but stored permanently in user space. This means the options are also available for umount(8) or other operations. Note that maintaining mount options in user space is tricky, because it’s necessary to use libmount-based tools and there is no guarantee that the options will be always available (for example after a move mount operation or in unshared namespace).


Je liste volontairement ci-dessous les différents options :

  • X-mount.auto-fstypes permet ou interdit un ou plusieurs systèmes de fichiers durant la phase de détection automatique dudit système de fichiers ; plusieurs systèmes de fichiers peuvent être utilisés, séparés d’une virgule ,

  • X-mount.mkdir permet la création du point de montage s’il n’existe pas au moment du montage de celui-ci. Le mode par défaut est 0755, ne nécessitant pas d’être précisé. Pour spécifier un mode de montage, il est nécessaire d’utiliser la notation octal. Attention n’est pris en charge QUE avec des droits admin ou si le point de montage est monté sans permissisons suid. Pour finir, l’option relative x- n’est plus à utiliser car dépréciée.

  • X-mount.group définit le groupe utilisateurs propriétaire du point de montage APRÈS le montage de celui-ci

  • X-mount.owner définit le propriétaire du point de montage APRÈS le montage de celui-ci.

  • X-mount.mode définit le mode à utiliser APRÈS le montage du point de montage.

Il existe deux, trois autres options que je ne mentionne pas car elles me semblent très spécifiques à des usages particuliers, telles idmap, nocanonicalize, noloop, subdir (attention elles ne sont pas dans cet ordre dans le manpage).

C’est vraiment intéressant :wink:


Pour finir : j’émets un modulo ; cela demande de modifier le fichier de configuration /etc/fstab, ainsi que tu le mentionnes ; personnellement, je trouve cela « incongru » d’avoir à spécifier des options de montage dans ledit fichier pour un système de fichiers QUI normalement doit se monter automatiquement, dont la détection doit reconnaître le système de fichiers et permettre automatiquement l’usage par l’utilisateur qui cherche (ou a besoin) d’utiliser le périphérique (qu’il soit USB donc matériel, ou autre car logiciel). Je suis peut-être dans l’erreur dans mon raisonnement…


Pour finir, tu devrais clairement mettre une mention à qui est dédié ce T&A !
personnellement, je dirais « utilisateurs avancés » :wink:
(parce que tu vas avoir droits à des questions, du type « c’est quoi telle option, tel truc dans ta commande ») !