Comment monter automatiquement un disque dur NTFS interne sur une partition cryptée / home avec fstab?

1

Résumé: Je souhaite monter automatiquement un disque dur interne dans le répertoire personnel de mon utilisateur fstab, mais je ne peux pas le faire.

Je suis en train de configurer une nouvelle machine de développement Thinkpad avec Windows 10 à double amorçage et Ubuntu 17.10 sur un SSD (interne). Les deux systèmes d'exploitation semblent fonctionner normalement.

Mes données personnelles sont stockées sur un disque dur interne au format NTFS que je souhaite partager entre les systèmes d'exploitation. Sans configuration, les fonctions de montage / lecture / écriture automatiques, comme prévu, lors du démarrage sur les ordinateurs de bureau Windows et Ubuntu. Sur Ubuntu, le lecteur est accessible via une icône dekstop ou via "Autres emplacements" dans l'application Fichiers.

Cependant, je voudrais monter automatiquement le lecteur sous /home/<username>/data. J'ai décidé d'utiliser fstabpour y parvenir.

Tout d'abord, j'ai trouvé l'UUID du lecteur avec sudo blkid. Le lecteur est monté en tant que sdaet contient deux partitions, qui sont blkiddécrites comme suit:

/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="32d4b204-4781-487b-baf2-9f49aca22b7e"
/dev/sda2: LABEL="Data" UUID="D0AA5898AA587CC2" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="5a989f6c-fab3-44d8-ab26-6dea47454de4"

Je ne sais pas quel est le but ou la signification de la sda1partition, mais cela ne m'intéresse que sda2.

Bien qu'il s'agisse d'un ordinateur à utilisateur unique, j'aimerais quand même définir des options et des autorisations restrictives. En conséquence, j’ajoute la ligne suivante à /etc/fstab, se terminant par une nouvelle ligne vierge:

UUID=D0AA5898AA587CC2   /home/<username>/data   ntfs    uid=<username>,gid=<username>,owner,umask=077,dmask=077,fmask=077,nosuid,dev,windows_names,auto    0       2

J'ai choisi d'être verbeux et explicite dans mes options plutôt que d'utiliser defaults, car cela devrait faciliter la compréhension et l'ajustement lorsque je reviendrai plus tard.

Autant que je sache, les options choisies fonctionnent comme suit:

  • uid: me définit comme l'utilisateur propriétaire
  • gid: définit mon groupe (me contenant en tant que membre unique) en tant que groupe propriétaire
  • propriétaire: permet uniquement au propriétaire (moi) de monter le lecteur
  • * masque: définit les autorisations par défaut pour les fichiers et les dossiers que seul le propriétaire (moi) peut lire / écrire / exécuter et tous les autres n'ont aucune autorisation.
  • nosuid: les scripts et les exécutables sont exécutés avec les permissions de l'utilisateur actuel et non du propriétaire du fichier (plus sécurisé)
  • dev: from man mount: "Interprète des caractères ou bloque des périphériques spéciaux sur le système de fichiers." Cela semblerait nécessaire pour interagir avec les disques.
  • windows_names: me protège de l'écriture de noms sous Windows pour maintenir la compatibilité entre systèmes d'exploitation.
  • auto: monte automatiquement le système de fichiers au démarrage et avec la sudo mount -acommande.

Sous ce schéma, non seulement est /home/<username>/datavide, mais bien que le lecteur apparaisse toujours dans l'application "Fichiers", il est également vide.

Lorsque j'exécute mount, la partition appropriée est signalée comme suit:

/dev/sda2 on /home/<username>/data type fuseblk (rw,nosuid,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)

Il semble donc que le disque appartient toujours à root ( user_id=0).

J'ai essayé beaucoup, beaucoup de permutations d'options - y compris des options beaucoup plus permissives, en vain. Le seul changement est que si je me réfère plutôt à la PARTUUIDde la sda2partition, puis un « lecteur » supplémentaire apparaît dans l'application « Fichiers », appelé « data » (notez la minuscule « d »). Cependant, ce "lecteur" n’est accessible que par root.

Que dois-je changer pour que cela fonctionne? Lors de l’installation d’Ubuntu, j’ai choisi de créer une /homepartition séparée et chiffrée - est-ce que cela pourrait interférer avec le montage automatique au démarrage, étant donné qu’elle n’est vraisemblablement pas déchiffrée tant que je ne me suis pas connecté <username>?

EDIT: monter dans un répertoire / partition non crypté

J'ai essayé de monter le disque dur dans un répertoire / partition non chiffré sur lequel <username>a des rwxpermissions ( /tmp/data) en le changeant fstabcomme suit:

UUID=D0AA5898AA587CC2   /tmp/data   ntfs    permissions,uid=mixtrak,gid=mixtrak,owner,umask=077,dmask=077,fmask=077,nosuid,dev,windows_names,auto    0       2

En conséquence, le système de fichiers monté à cet endroit semble posséder le propriétaire, le groupe et les autorisations appropriés (de ls -l):

drwx------ 1 <username> <username> 4096 Dec 25 07:38 data

Et j'ai confirmé que le contenu est lisible / inscriptible par <username>. Ainsi , le chiffrement de la partition ne semble être la cause de mes problèmes.

Cependant, je suis toujours confus sur une chose. Quand je vérifie mount, la partition est décrite ainsi:

/dev/sda2 on /tmp/data type fuseblk (rw,nosuid,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)

Les options, les autorisations et le propriétaire sont très différents des options de montage spécifiées dans fstabet de celles visibles au /tmp/datapoint de montage ls -l. Pourquoi donc? Quelles sont les implications?

Une dernière question: cette question a-t-elle plus de chances de gagner du terrain sur les échanges Unix et Linux Stack Exchange, ou peut-être avec Server Fault?


la source
1
" /homepartition cryptée - cela pourrait-il être une interférence?" - c'est une hypothèse raisonnable. Pourquoi ne pas le tester en montant /dev/sda2ailleurs, par exemple /mnt/data? Si cela réussit, faites-lui simplement un lien symbolique dans votre /home/<username>/.
Kamil Maciorowski
Merci. Le chiffrement semble en être la cause, mais apparemment, je ne comprends pas non plus complètement le mountrésultat. Avez mis à jour la question en conséquence.