web-dev-qa-db-fra.com

Impossible d'écrire sur une partition de données NTFS, probablement en raison d'un manque d'autorisations?

Ubuntu 18.04 est installé sur un disque SSD avec un disque dur séparé plus grand avec une partition contenant Windows 10 et une autre partition NTFS que j'utilise pour stocker toutes sortes de données. J'ai ajouté la partition de données NTFS à monter au démarrage à l'aide de l'utilitaire de disques d'Ubuntu. Elle se monte automatiquement très bien, mais ne dispose que d'un accès en lecture. J'aimerais que cette partition ait également un accès en écriture d'Ubuntu. Mais je ne peux pas comprendre comment. (Le démarrage rapide dans Windows 10 est désactivé)

Heres my fstab file (La dernière entrée, dev/sdb4, correspond à la partition de données NTFS):

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=0e4a3e97-171f-4c96-9260-e2eb217f4302 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation
#UUID=1022-A48D  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda1 during installation
UUID=c59f57b3-26c6-4fb1-82ae-29e676a973b1 none            swap    sw              0       0
UUID=1022-A48D  /boot/efi   vfat    defaults    0   1
/dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show 0 0

Ce sont les autorisations pour cette partition

permissions for partition

Veuillez également expliquer comment ce lecteur peut être ajouté aux Favoris (la barre latérale qui présente les applications en cours ou que vous avez marquées comme favorites) dans 18.04?

1
m.umar

Par défaut, sauf si la partition en cours de montage est une partition ext2/3/4 ou une partition pouvant gérer les autorisations de style UNIX (telles que les partitions Mac HFS/HFS +), le lecteur est monté en tant que root:root pour le droit de propriété de l'utilisateur/du groupe. par défaut. exFAT/FAT/FAT32/NTFS ne supportent pas les autorisations de style UNIX, vous ne pouvez donc pas utiliser ces types d'autorisations.

En tant que tel, vous devez définir des autorisations lors du montage en fonction de vos besoins. Il y a beaucoup d'options différentes que vous pouvez définir, mais nous allons en emprunterons une autre de mon autre réponse sur la façon de monter NTFS afin qu'il puisse être lu par n'importe quel utilisateur mais l'adapter pour votre utilisateur uniquement .

Premièrement, nous devons obtenir des informations. Vous devrez exécuter la commande id dans le terminal. Cela nous donnera quelques informations dont nous aurons besoin lors de la construction des points de montage, à savoir votre uid et gid. Vous trouverez ci-dessous un exemple de sortie de mon propre ordinateur portable, même si le vôtre sera probablement très différent:

$ id
uid=1000(teward) gid=1000(teward) groups=1000(teward),4(adm),6(disk),20(dialout),24(cdrom),27(Sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),132(sbuild),137(lxd),140(wireshark),998(pgadmin4)

Les valeurs uid et gid, qui dans mon cas sont 1000 pour les deux, sont particulièrement pertinentes. Les vôtres peuvent différer, mais nous devrons garder ces valeurs à la main.

Ensuite, restructurons votre ligne /etc/fstab. Votre système a utilisé auto pour détecter le disque externe, ce qui est correct, mais il y a un petit problème avec cela: cela suppose que le système d'exploitation puisse déterminer le type de système de fichiers sur le disque. Nous allons donc remplacer cela par ntfs.

Voici le début de votre ligne /etc/fstab:

/dev/sdb4 /mnt/sdb4 ntfs

La partie essentielle de ce que vous devez faire maintenant consiste toutefois à ajuster les options pour le montage. defaults est un bon point de départ, mais pas ce dont vous avez besoin. Idéalement, vous devriez avoir les options supplémentaires suivantes dans vos options:

 locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID

Notez que vous devez remplacer UID et GID dans les lignes uid= et gid= par les valeurs numériques uid et gidid.

Comme vous vous demandez peut-être ce que font ces options, laissez-moi tirer mon explication avec quelques modifications de mon autre réponse:

  • locale=en_US.utf8 - applique les paramètres régionaux anglais américain avec UTF8
  • windows_names - indique que les restrictions de nom Windows sont en place pour les nouveaux fichiers de la partition.
  • umask=7007 - Fondamentalement, chmod inverse. Définissez quelles autorisations ne sont pas autorisées pour les fichiers. Pour l’essentiel, je n’interdit rien en lecture/écriture/exécution ici, à l’exception d’autres utilisateurs que vous-même, de sorte que tous les fichiers de l’emplacement monté obtiennent effectivement des privilèges de lecture, d’écriture et d’exécution pour votre utilisateur. Je ne veux aucun des bits spéciaux définis (setuid, setgid, sticky), je dois donc les éliminer du premier octet - puisque la somme numérique de ceux-ci est un '7' et que j'interdit ces permissions, je mettre un premier 7.
  • uid=1000, gid=1000 - Montez la partition dans ce dossier avec la propriété de l'utilisateur et du groupe UID (ID utilisateur) et GID (ID du groupe) de 1000 (il s'agit de l'utilisateur et du groupe de l'utilisateur , teward, sur le système Ubuntu).

L'ajout de ces options à la ligne d'options permettra à votre périphérique externe de se conformer à votre dual-boot Windows avec la dénomination de fichier et d'appliquer également UTF8. Il va également définir les autorisations correctement, de sorte que votre utilisateur ne peut avoir en lecture/écriture sur la partition. Cela rend votre /etc/fstab line ceci:

/dev/sdb4 /mnt/sdb4 auto defaults,x-gvfs-show,locale=en_US.utf8,windows_names,umask=7000,uid=UID,gid=GID 0 0

Nous n'avons rien à faire avec les deux derniers zéros, ce n'est pas grave de partir. Assurez-vous simplement que vous avez mis à jour les valeurs GID et UID avec les valeurs réelles.

Ensuite, utilisez Sudo umount /dev/sdb4 && Sudo mount /dev/sdb4 pour démonter et remonter la partition avec les nouvelles options. Vous devriez alors avoir les privilèges de lecture/écriture sur tout le disque maintenant.

2
Thomas Ward