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 fstab
pour y parvenir.
Tout d'abord, j'ai trouvé l'UUID du lecteur avec sudo blkid
. Le lecteur est monté en tant que sda
et contient deux partitions, qui sont blkid
dé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 sda1
partition, 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 -a
commande.
Sous ce schéma, non seulement est /home/<username>/data
vide, 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 PARTUUID
de la sda2
partition, 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 /home
partition 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 rwx
permissions ( /tmp/data
) en le changeant fstab
comme 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 fstab
et de celles visibles au /tmp/data
point 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?
/home
partition cryptée - cela pourrait-il être une interférence?" - c'est une hypothèse raisonnable. Pourquoi ne pas le tester en montant/dev/sda2
ailleurs, par exemple/mnt/data
? Si cela réussit, faites-lui simplement un lien symbolique dans votre/home/<username>/
.mount
résultat. Avez mis à jour la question en conséquence.