web-dev-qa-db-fra.com

Monter la partition NTFS au démarrage, avec un utilisateur non root en tant que propriétaire

Je monte actuellement une partition NTFS au démarrage à l'aide de la ligne suivante dans/etc/fstab:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

Pour mon installation Ubuntu 11.10, il semble que tous les fichiers et dossiers appartiennent à root - et comme NTFS ne prend pas vraiment en charge le même système de gestion des droits, je ne peux absolument pas le changer une fois le montage terminé. Quoi que je fasse, ls -l n'importe où sur la partition NTFS listera chaque fichier et dossier comme appartenant à root:root.

Cependant, cela me pose quelques problèmes. Plus particulièrement, certaines applications fonctionnant sous mon compte (appelé tomas) se plaignent des droits d'accès. De plus, chaque fois que j'essaie de copier (cp) ou de déplacer (mv) de l'une de mes partitions ext3 vers la partition NTFS, des messages d'erreur s'affichent

mv: preserving times for `[path to new file]`: Operation not permitted

ou de même

mv: preserving permissions for ...

Monter la partition en mon nom au lieu de l'aide de root? Si oui, comment puis-je accomplir cela en fstab?


Mise à jour:

J'ai maintenant changé les options en fonction des suggestions et suis arrivé à ceci:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -l affiche maintenant tous les fichiers appartenant à moi plutôt que par root, et il semble que certains des problèmes que j'avais auparavant étaient résolus. Cependant, pas tous.

Lorsque je démarre Eclipse, un message d'erreur relatif à Android-sdk ne peut pas être exécuté: autorisation refusée. ls -l me dit ce qui suit à propos du fichier:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

Cela ressemble à ce que je veux. Mais si j'essaie de l'exécuter (./adb dans un terminal), j'obtiens également des erreurs d'autorisation refusées. Mais si je le lance avec Sudo, cela fonctionne (je crois - au moins, cela ne me donne pas un message d'erreur, mais cela ne me donne aucune sortie, ce qui, à mon avis, ne devrait pas l'être ...)

Pourquoi le fichier ci-dessus, avec les autorisations d’exécution pour , n’importe-t-il , n’est toujours pas exécutable par quelqu'un d’autre que root? Comment puis-je changer la façon dont je monte le système de fichiers afin qu'il soit?


Mise à jour 2:

OK, je viens maintenant un peu plus loin. En montant avec ces options

nls=iso8859-1,permissions,users,auto

J'ai toutes les autorisations définies comme je le souhaite, et chown et chmod modifient les paramètres des fichiers (au moins selon ls -l) = D

MAIS mon système se comporte toujours de manière étrange. Les autorisations pour le fichier de script adb apparaissent comme ci-dessus, mais ni moi ni Eclipse ne pouvons l'exécuter sans les erreurs "Permission denied". Mais autant que je sache, le fichier contient tous les indicateurs requis (o=rwx devrait suffire, non?). Pourquoi ça ne marche pas?


Mise à jour

D'accord, tout fonctionne du côté Ubuntu, avec les options suivantes:

nls=iso8859-1,permissions,users,auto,exec

Cependant, lorsque j'essaie d'accéder aux fichiers de la partition à partir de Windows, les paramètres de sécurité sont tous perturbés. Sur tous les fichiers (parmi ceux que j'ai examinés), un nouveau compte appelé Account Unknown(long GUID) a été ajouté à la liste des utilisateurs et dispose de tous les droits. Les droits de la plupart des autres utilisateurs sont réduits, de sorte que je n’ai pas le droit de faire les choses que j’attends. Notamment "Tout le monde" ne semble plus avoir le droit de "Traverser dossier/exécuter".

Cela pourrait être résolu en sélectionnant simplement la partition et en autorisant Tout le monde à faire quoi que ce soit sur le dossier racine, puis en lui disant de le faire de manière récursive, mais je plutôt que je crains que cela prenne plusieurs jours ...

26
Tomas Aschan

Dans la colonne d'options, ajoutez permissionset auto(et probablement userou usersname__).

nls=iso8859-1,permissions,users,auto
  • permissionsname__: (option NTFS-3G) Définissez les autorisations standard sur les fichiers créés et utilisez le contrôle d'accès standard.
  • autoname__: Sera monté au démarrage et à partir de mount -a
  • username__: Autoriser un utilisateur ordinaire à monter le système de fichiers
  • usersname__: Autorise chaque utilisateur à monter et démonter le système de fichiers

Puis changez la propriété du système de fichiers:

Sudo chown -R thomas:thomas /media/data 

Ma ligne dans /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

Monter et lister les permissions

Sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

Modifier la propriété et répertorier les nouvelles autorisations

bodhi@ufbt:~$ Sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

Par défaut, ntfs-3g monte la partition noexec, nosuid et nodev.

  • noexecname__: n'autorise pas l'exécution directe de fichiers binaires sur le système de fichiers monté.
  • nosuidname__: n'autorise pas l'entrée des bits set-user-identifier ou set-group-identifier-group.
  • nodevname__: n'interprète ni les caractères ni les périphériques spéciaux sur le système de fichiers.

Pour remplacer ceci et autoriser l'exécution de fichiers, utilisez execname__

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

Maintenant nous avons

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works
24
Panther

Le mien fonctionne maintenant parfaitement lorsque je change la ligne du fstab en

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0
2
e01

Utilisez les options uid et gid (ou utilisez la fonction de mappage utilisateur) de mount.ntfs (8)

2
tumbleweed

Et si vous utilisiez udisks? Il peut facilement monter des partitions NTFS avec votre utilisateur en tant que propriétaire.

Exemple (tapez-le en ligne de commande):

/usr/bin/udisks --mount /dev/sda3

Vous pouvez également ajouter cette commande aux applications de démarrage, qui se monteront automatiquement lorsque vous vous connecterez.

Référence: AutomaticallyMountPartitions

1
amfcosta