web-dev-qa-db-fra.com

Monter la partition NTFS avec un accès en écriture pour tous

Comment monter une partition NTFS afin que tous les comptes d'utilisateurs de ma machine aient un accès en écriture? Mes options de montage sont

nosuid,nodev,nofail,x-gvfs-show,nobootwait,uid=1000,gid=1002,fmask=113,dmask=002

Cela me donne un accès en écriture, mais lorsque d'autres utilisateurs tentent de supprimer un fichier, un message d'erreur apparaît.

Cannot move file to trash, do you want to delete immediately? 

Si j'ai bien compris, c'est parce qu'ils n'ont pas d'accès en écriture, c'est ce que je veux changer.

J'ai créé un nouveau groupe (avec gid=1002) et l'ai affecté en tant que groupe principal aux deux comptes d'utilisateur, mais cela n'a pas aidé. J'ai également essayé de monter sans les options fmask, dmask et uid.

3
daniels

Si je comprends bien, c'est parce qu'ils n'ont pas d'accès en écriture, c'est ce que je veux changer.

Non, ce message d'erreur ne signifie pas qu'ils n'ont pas d'accès en écriture. S'ils n'avaient pas accès en écriture, vous ne pourriez pas cliquer avec le bouton droit de la souris sur "Déplacer dans la corbeille" ou "Supprimer" un fichier, ni utiliser le programme. Del bouton du clavier. Mais puisque vous obtenez cette erreur, cela signifie que les utilisateurs ont accès.

Après deux heures de recherche et de reproduction de cette erreur sur mon ordinateur, voici ce que j'ai découvert.

Explication

Les autorisations (propriétaire, groupe, fichier et répertoire) sont définies au moment du montage. Seul le propriétaire peut déplacer des fichiers dans la corbeille. Pourquoi? Parce que lorsque vous déplacez des fichiers dans une partition NTFS, un dossier appelé .Trash-<uid> est créé dans le répertoire racine de la partition, où <uid> est le uid de l'utilisateur et le dossier. le propriétaire sera l'utilisateur qui essaie de supprimer. Par exemple, si le nom d'utilisateur est daniels et que uid vaut 1000, un dossier appelé .Trash-1000 est créé et daniels en sera le propriétaire.

Donc, si daniels est le propriétaire de la partition, il pourra le faire normalement. Cependant, si un autre utilisateur (appelé par exemple alaa et uid=1001) tente de supprimer quelque chose, le système tente de créer un dossier .Trash-1001 avec le propriétaire alaa. Mais, sur NTFS, les autorisations sont définies au moment du montage (exemple: il a été défini sur daniels) et le "propriétaire" de tout fichier ne peut pas être modifié. Le système ne parvient donc pas à créer le fichier .Trash-1001, qui vous donne l'invite Cannot move file to trash, do you want to delete immediately?.

Pour tester cela, essayez de créer manuellement un dossier dans le répertoire racine de la partition nommée .Trash-1001 (le propriétaire sera défini sur le propriétaire de la partition). Vous constaterez que frapper Del sur le clavier sur n'importe quel fichier/dossier ne fera rien, et l'option lorsque vous cliquez avec le bouton droit de la souris sur un élément passera de Move to Trash à Delete. Je ne peux pas expliquer pourquoi cela change en Delete, mais ceci est juste pour identifier que le problème est bien dans le dossier .Trash-1001.

À mon avis, je classe cela comme un bug.

Solution (doux de ...)

Supprimez toutes vos options uid=, gid=, dmask=, fmask= et umask= de votre commande de montage, puis ajoutez permissions. devinez que votre ligne devrait être comme ceci:

nosuid,nodev,nofail,x-gvfs-show,nobootwait,permissions

J'ai essayé cela sur mon ordinateur et ça marche. les deux utilisateurs peuvent passer à la corbeille lors de l'utilisation du disque dur NTFS.

Voici une démonstration:

alaa @ aa-lu: ~ $ Sudo mount -o rw, permissions/dev/sdc2 /media/he
Utilisation du mappage utilisateur par défaut 
alaa @ aa-lu: ~ $ ls/media/he -la [la .____.] total 104 
 drwxrwxrwx 1 racine racine 8192 24 septembre 21h20. 
 drwxr-xr-x 6 racine racine 4096 24 septembre 21h18. . 
 drwxrwxrwx 1 racine racine 4096 15 décembre 2012 Fichiers sur mon disque dur 
 drwxrwxrwx 1 racine racine 4096 9 juillet 12:18 $ RECYCLE.BIN 
 drwx ------ 1 racine racine 0 22 janvier 2012 Informations sur le volume du système 

Ensuite, j'ai effacé quelque chose en utilisant mon nom d'utilisateur alaa, puis je me suis connecté en tant qu'utilisateur aaa et j'ai effacé un autre élément. Les deux peuvent supprimer, et voici comment se présente la partition NTFS:

alaa @ aa-lu: ~ $ ls/media/he -la [la .____.] total 104 
 drwxrwxrwx 1 racine racine 8192 24 septembre 21h20. 
 drwxr-xr-x 6 racine racine 4096 24 septembre 21h18. . 
 drwxrwxrwx 1 racine racine 4096 15 décembre 2012 Fichiers sur mon disque dur 
 drwxrwxrwx 1 racine racine 4096 9 juillet 12:18 $ RECYCLE.BIN 
 drwx ------ 1 racine racine 0 22 janvier 2012 Informations sur le volume du système 
 Drwx ------ 1 alaa alaa 0 24 septembre 21:20 .Trash-1000 
 Drwx ------ 1 aaa aaa 0 24 sept 21:19 .Trash-1002 

Je ne sais pas comment il réussit à le faire, mais c'est le cas.

J'ai trouvé cette page: Propriété et autorisations | Tuxera qui explique cela, ainsi qu'un message sur le forum ( http://www.tuxera.com/forum/viewtopic.php?f= 2 & t = 2754 ) qui contient des informations utiles. Cependant, malheureusement, je ne les ai pas encore lues. Je ne peux donc pas expliquer exactement ce que cette option permissions fait.

J'ai dit "Solution (en quelque sorte ...)" dans le titre de cette section parce que vous ne contrôlez plus qui est le propriétaire de la partition, ni le propriétaire du groupe, ni les autorisations de lecture-écriture. Mais, lors du montage avec l'option permissions, vous pouvez voir un "Utilisation du mappage utilisateur par défaut", aussi, autant que je sache, il existe un "mappage utilisateur" pouvant être créé pour être utilisé avec permissions, et ce mappage aura le propriétaire/les autorisations que nous voulons définir. Je n’ai pas non plus essayé de monter avec permissions avec uid= et toutes ces autres options (le lien Tuxera que j’ai posté devrait expliquer cela), mais cela pourrait également fonctionner, en contrôlant le propriétaire/les autorisations et à la page précédente. en même temps donner accès à la corbeille.

Lorsque je lirai ces liens, je mettrai à jour ma réponse.

4
Alaa Ali

Essayez d'ajouter ceci à votre fstab:

UUID=<YourPartitionUUID>  <YourMountPoint>  ntfs-3g  defaults,uid=1000,gid=46,utf8,dmask=000,fmask=111  0  0

(Si vous n'avez pas installé ntfs-3g, vous pouvez essayer de l'installer ou d'utiliser simplement ntfs.)

0
Sadi