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

28

Je monte actuellement une partition NTFS au démarrage en utilisant la ligne suivante dans / etc / fstab:

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

Pour mon installation d'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 de toute façon, je ne peux pas le changer une fois le montage terminé. Peu importe ce que je fais, ls -ln'importe où sur la partition NTFS répertorie tous les fichiers et dossiers appartenant à root:root.

Cependant, cela me cause 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) des fichiers de l'une de mes partitions ext3 vers la partition NTFS, je reçois des messages d'erreur disant

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

ou, de même

mv: preserving permissions for ...

Est-ce que monter la partition en mon nom au lieu de l'aide root? Si oui, comment puis-je accomplir cela dans 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 -laffiche maintenant tous les fichiers que je possède au lieu de root, et il semble que certains des problèmes que j'ai rencontrés auparavant soient résolus. Cependant, pas tous.

Lorsque je démarre Eclipse, j'obtiens une erreur indiquant qu'un fichier lié à android-sdk ne peut pas être exécuté: autorisation refusée. ls -lme dit ce qui suit sur le fichier:

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

Cela ressemble à ce que je veux. Mais si j'essaye de l'exécuter ( ./adbdans un terminal), j'obtiens également des erreurs d'autorisation refusée. Mais si je l'exécute avec sudo, cela fonctionne (je crois - au moins, il ne me donne pas de message d'erreur, mais il ne me donne aucune sortie du tout, ce que je pense qu'il ne devrait pas ...)

Pourquoi le fichier ci-dessus, avec des autorisations d'exécution pour n'importe qui , n'est-il toujours pas exécutable par quelqu'un d'autre root? Comment changer la façon dont je monte le système de fichiers tel quel?


Mise à jour 2:

OK, je suis maintenant allé un peu plus loin. En montant avec ces options

nls=iso8859-1,permissions,users,auto

Je suis toutes les autorisations définies comme je les attends, et chownet chmodréellement modifier les paramètres sur les fichiers (au moins selon ls -l) = D

MAIS mon système se comporte toujours de manière étrange. Les autorisations pour le adbfichier de script se présentent comme ci-dessus, mais ni moi ni Eclipse ne pouvons l'exécuter sans les erreurs "Autorisation refusée". Mais pour autant que je puisse voir, le fichier a tous les drapeaux requis (cela o=rwxdevrait suffire, non?). Pourquoi ça ne marche pas?


Mise à jour 3

OK, j'ai tout fait fonctionner 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 foiré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 ce que j'attends. Notamment, "Tout le monde" ne semble plus avoir le droit de "Déplacer le dossier / exécuter".

Cela peut être résolu en sélectionnant simplement la partition et en permettant à tout le monde de faire quoi que ce soit sur le dossier racine, puis en lui disant de le faire de manière récursive, mais je préfère ne pas, car je crains que cela ne prenne des jours ...

Tomas Aschan
la source
2
De montage (8) : users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid). Alors, ajoutez execà vos options et je crois que le problème d'autorisation refusée pour l'exécution doit être résolu.
benwh
Avez-vous déjà résolu ce problème après la mise à jour 3? ... J'ai essayé à un moment donné de faire une sauvegarde rsync de mon système linux sur un disque ntfs supplémentaire que j'avais, mais après beaucoup de recherches, je suis arrivé à la conclusion que je ne pourrais jamais mettre la gamme complète d'informations du système de fichiers linux sur un ntfs fs. (Eh bien, je pourrais peut-être me rapprocher comme vous l'avez fait ci-dessus, mais à la fin, Linux ne correspond pas très bien à ntfs.)
Vue elliptique
@Elipticalview: C'est il y a longtemps et je n'ai plus le même ordinateur. Avez-vous essayé la réponse acceptée?
Tomas Aschan

Réponses:

25

Dans la colonne des options, ajoutez permissionset auto(et probablement userou users)

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

Changez ensuite de propriétaire du système de fichiers:

sudo chown -R thomas:thomas /media/data 

Ma ligne dedans /etc/fstab

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

Monter et répertorier les autorisations

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.

  • noexec: Ne pas autoriser l'exécution directe de binaires sur le système de fichiers monté.
  • nosuid: Ne laissez pas les bits set-user-identifier ou set-group-identifier prendre effet.
  • nodev: N'interprétez pas les caractères et ne bloquez pas les périphériques spéciaux du système de fichiers.

Pour remplacer cela et autoriser l'exécution de fichiers, utilisez exec

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

Maintenant, nous obtenons

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

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

bodhi@ufbt:~$ /media/ntfs/file
It works
Panthère
la source
Hm ... après avoir ajouté cela à fstab (faire de la colonne des options hte ce qui suit nls=iso8859-1,permissions,users,umask=000:) et redémarrer je peux maintenant déplacer et copier des fichiers sans messages d'erreur. Tous les fichiers apparaissent toujours comme appartenant à root:root, même après sudo chown -R tomas:tomas /media/data. Cela ne semble pas être un problème pour l'instant, mais par curiosité: pourquoi?
Tomas Aschan
Je pense à cause de votreumask=000
Panther
Non, umask=000est équivalent à chmod 777- umask définit tous les indicateurs que vous ne souhaitez pas définir sur les fichiers. Je suis d'accord, c'est contre-intuitif, mais tout est là: ubuntuforums.org/showpost.php?p=9092899&postcount=4
Tomas Aschan
J'ai mis à jour ma question avec plus d'informations sur ce que j'ai essayé et les résultats.
Tomas Aschan
1
Hm ... Je vais devoir décocher ceci pour le moment: il s'avère que cela a gâché les autorisations lors de la lecture des fichiers à partir de Windows ...
Tomas Aschan
2

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

tumbleweed
la source
1
En d'autres termes, ajoutez uid = quiconque à la ligne fstab
psusi
uidet gidfonctionnent, mais les autorisations sont désormais prises en charge dans ntfs-3g, et ces options remplacent l' permissionsoption. Voir: b.andre.pagesperso-orange.fr/permissions.html
Panther
J'ai mis à jour ma question avec plus d'informations sur ce que j'ai essayé et les résultats que j'ai obtenus. S'il vous plaît jetez un oeil =)
Tomas Aschan
Pouvez-vous mettre à jour votre entrée fstab et supprimer votre uid, gid et umask, simplement nls=iso8859-1,permissions,users, démonter et remonter la partition.
Panther
@ bodhi.zazen: Ensuite, nous sommes de retour à la case départ. Les fichiers apparaissent comme appartenant à root:rootEclipse et se plaignent des autorisations.
Tomas Aschan
2

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

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

Qu'en est-il de l'utilisation udisks? Il peut facilement monter des partitions NTFS avec votre utilisateur en tant que propriétaire.

Exemple (saisissez-le en ligne de commande):

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

Vous pouvez également ajouter cette commande aux applications de démarrage et elle se montera automatiquement lorsque vous vous connecterez.

Référence: AutomaticallyMountPartitions

amfcosta
la source