Comment monter correctement une partition NTFS dans / etc / fstab?

73

Après un vilain épisode (mon deuxième, on pourrait penser que j'apprendrais) causé par des téléchargements de podcasts automatisés non supervisés remplissant toute la partition, je suis finalement passé ~/Musicà sa propre partition. La partition que j’utilisais était déjà au format NTFS (c’est la partie génie: quand j’ai eu cet ordinateur il ya trois ans, je l’ai configurée avec une partition de musique 20G précisément parce que j’avais eu ce problème auparavant, mais jamais Je me suis organisé pour stocker de la musique dessus. Voilà donc mon histoire. Voici ce dont j'ai besoin maintenant:

J'ai deux partitions que je veux commencer à monter au démarrage:

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

La partition ext4 monte bien (je ne peux l'écrire que pour moi), mais les montages ntfs sont la propriété de root avec les autorisations de lecture et d'écriture pour tous. Je ne sais pas comment résoudre ce problème. Y at-il quelque chose de bizarre sur ntfs ou ai-je fait quelque chose ailleurs qui cause ce problème?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess
Amanda
la source
Les options "noatime" ou "relatime" sont disponibles et recommandées pour le montage ntfs permanent (voir man mount.ntfs). J'ai eu quelques problèmes de disque dur occupé-ness avec ext3 / 4 et NTFS aussi!

Réponses:

90

Les autorisations pour les systèmes de fichiers ntfs et vfat doivent être définies avec les options dmask, fmasket umask. dmaskcontrôle les autorisations pour les répertoires, fmaskles autorisations pour les fichiers et umaskles deux. Étant donné que ces options définissent des masques , elles doivent être le complément des autorisations que vous souhaitez. Par exemple, rwx pour le propriétaire et rx pour les autres est 022 au lieu de 755.

Pour définir le propriétaire, utilisez les options uidet gidpour l'utilisateur et le groupe, respectivement. Vous pouvez trouver votre UID avec la commande id -u. Pour trouver votre GID, utilisez id -g. Ces valeurs sont généralement 1000.

Un ensemble commun d'options de montage pour ntfs est uid=1000,gid=1000,dmask=027,fmask=137. Cela vous définit en tant que propriétaire du lecteur et définit les autorisations sur drwxr-x---.

Voici deux lignes de mon travail / etc / fstab

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0

Si vous ne recevez aucune erreur visible après le redémarrage et que les partitions restent en lecture seule ou si vous obtenez une erreur semblable à:

Error mounting /dev/sda6 at /media/WindowsDrive: 
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
Metadata kept in Windows cache, refused to mount. 
Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

En effet, Windows 8 et 10 offrent une option de "démarrage rapide" qui dépend d'un arrêt "non complet". Vous pouvez désactiver le démarrage rapide en suivant ces étapes sous « Options d' alimentation ».

bessman
la source
C'est en effet la source de beaucoup de ce qui précède. J'ai également inclus des explications plus détaillées sur le fonctionnement des options * mask.
bessman
3
Pourriez-vous éventuellement fournir un exemple plus complet montrant les options utilisées dans une ligne de/etc/fstab
puk
3
@puk, j'ai UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0, comme je l'ai inclus à askubuntu.com/a/507326/221448 (où je mentionne également bind).
Brady Trainor
1
@ScottFuid=0,gid=0
wjandrea
34

Si vous montez la partition ntfs avec l'option permissions, alors chmod / chown fonctionnera

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

Vous pouvez alors

sudo chown your_user:your_user /mnt/excess

Plus facile alors uid, dmask, fmask.

Panthère
la source
Un inconvénient / effet secondaire à cette sudo chowncommande? Qu'est-ce que ça fait exactement?
ReneSac
5
La commande chown change le propriétaire du point de montage (/ mnt / excess) en utilisateur souhaité. Cette étape devra être répétée chaque fois que la partition est montée, selon mon expérience (au moins après chaque redémarrage) ... alors, faites ce qu'il vous faut, définissez uid / gid / umask ... J'ai toujours pensé que fmask et dmask étaient facultatif - comme lorsque vous vouliez des autorisations différentes pour les fichiers et les répertoires.
thecarpy
7

J'ai eu quelques problèmes avec cela parce que quand je redémarre les changements de nom de disque ... ( sda0 à sdb2 )

J'ai résolu le problème en les montant par UUID dans le fstab, vous pouvez afficher l'UUID de vos disques durs en entrant: sudo blkid

Faites une sauvegarde de votre fichier fstab:

sudo cp /etc/fstab /etc/fstab.orig

Assurez-vous de vérifier le >>, si vous en placez un> vous écrasez votre fstab!

sudo blkid >> /etc/fstab

Si vous avez encore foiré, vous pouvez remplacer votre fstab par l'original:

sudo cp /etc/fstab.orig /etc/fstab

Ensuite, créez un dossier:

sudo mkdir /media/mydrivename

Configurez le fstab:

sudo vim /etc/fstab

N'oubliez pas de commenter la sortie du blkid avec un '#' au début des lignes!

Ajoutez ceci au fichier fstab, vous pouvez trouver l'UUID dans le bloc du bas que vous avez inséré avec la commande ci-dessus. media / mydrivename est l'endroit où la partition doit être montée.

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

Ceci est mon fichier fstab:

# /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/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

Redémarrez le système en tapant:

sudo reboot

Pour vérifier si la partition est montée, vous pouvez taper df -k.

Donnez-vous la propriété:

sudo chown -R USERNAME:USERNAME /media/mydrivename

Cela sur Ubuntu Server 14.04.01 !

J'espère que cette réponse aide quelqu'un ;-)

rotgers
la source
2
Bien que cela semble être un conseil généralement solide, je trouverais plus élégant de simplement copier l’UUID de la sortie de sudo blkidau lieu de tout transférer /etc/fstabet de le corrompre de manière transitoire. Une autre solution consiste à extraire l'UUID à partir du dialogue de propriétés de la partition dans GParted.
David Foerster
Eh bien, comme je le fais sur mon serveur, je ne vois pas vraiment comment le copier. Tout ce que j'ai est un clavier et bash.
rotgers
La plupart des émulateurs de terminaux vous permettent de copier des objets (en supposant que vous utilisez un accès à distance ou un émulateur de terminal similaire screenou à la tmuxplace d'un terminal virtuel brut).
David Foerster
Mauvaise hypothèse haha, je n'utilisais pas d'émulateur de terminal. Cependant, j'ai ajouté des éléments à ma réponse pour créer une copie du fichier fstab au cas où quelqu'un ferait faillite. :)
rotgers
J'ai abandonné UUID en LABEL car, pour une raison quelconque, l'UUID a changé lorsque j'ai ajusté une partition, mais les noms d'étiquette ne l'ont pas été. Aussi, je trouve plus facile de voir ce qui se passe dans fstab avec un LABEL = "un nom" par rapport à un UUID = "longue chaîne aléatoire".
Vue elliptique le
6

Vous pouvez utiliser l' utilitaire d'interface graphique ntfs-config pour monter des partitions NTFS dans fstab. Et peut facilement activer / désactiver les capacités de lecture-écriture.

Monter la partition Windows NTFS FSTAB

Guide plus détaillé: Montage de partitions Windows dans Ubuntu au démarrage

Gayan Weerakutti
la source
Merci! Comment as-tu créé ce joli gif animé?
Hans-Peter Störr
1
@hstoerr de Byzanz-Record . maintenant, cependant, il existe de meilleures alternatives.
Gayan Weerakutti
4

Ce n'est peut-être pas une bonne solution, mais vous pouvez toujours mapper l'ID utilisateur sur le vôtre, ou l'ID du groupe:

Juste un exemple ici, mon identifiant était 1000

/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0

Dans ce cas, tous les fichiers montés appartenant à l’utilisateur 1000

Marguerite
la source
1
Cela fonctionne, mais avec ou sans l'option "rw", il monte toujours avec des autorisationsdrwxrwxrwx
Amanda
Cela fonctionne pour moi. Pour les permissions, j'ai ajouté à fstab file_mode = 0770, dir_mode = 0770
Rui F Ribeiro.
2

Notez que si vous montez votre lecteur ntfs en utilisant une étiquette et souhaitez pouvoir modifier les autorisations des répertoires ou des fichiers sur ce lecteur, les opérations suivantes fonctionnent bien (modifiez le fichier / etc / fstab, par exemple, sudo nano / etc / fstab, puis ajoutez-le) :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    permissions,defaults        0       2

Considérant que ce qui suit ne vous permettrait PAS de modifier les autorisations de répertoires ou de fichiers:

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2
CMP
la source
1

J'utilise ce qui suit que je trouve correctement me donne les autorisations sur le montage (lecteur NTFS à partir d'une configuration système à double démarrage):

Modifier /etc/fstab:

Les UUID peuvent être trouvés dans /dev/disk/by-uuid/(généralement map to /dev/sd*)

Remplacez <your uuid>par votre UUID

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

Jonathan
la source