Impossible de définir des autorisations pour les fichiers sur une partition NTFS

12

Je me souviens avoir pu exécuter un Linux .exe qui a été placé sur une partition NTFS avant d'installer 10.10 RC. Mais si j'essaye de l'exécuter maintenant, je ne peux pas l'exécuter car il n'a pas l'autorisation d'exécution. La mauvaise partie est que je ne peux pas trop changer les autorisations. Je suis en chmodtrain de terminer +xmais aucun changement avec ses autorisations.

Donc ça semble être un bug? De l'aide?

Bien que lorsque je l'ai mis sur la partition ext4, je peux définir l'autorisation. Mais je veux le faire comme je l'ai fait auparavant, directement à partir de son emplacement NTFS par défaut.

ashishsony
la source

Réponses:

12

NTFS ne prend pas en charge l'autorisation d'exécution car il est conçu pour Windows, qui n'a pas le même concept de fichiers "exécutables" que Linux. Si vous essayez d'exécuter des fichiers Windows .exe dans Wine, cela devrait toujours fonctionner si vous exécutez explicitement Wine, comme ceci:

wine /path/to/executable.exe

Si vous devez exécuter des fichiers directement, vous pouvez définir les autorisations qui seront appliquées à tous les fichiers avec l' fmaskoption dans /etc/fstab. Vous devrez peut-être également ajouter l' execoption si ce n'est pas la valeur par défaut pour NTFS (je n'ai pas de lecteur à portée de main pour vérifier en ce moment). La valeur de fmaskindique au pilote les bits à désactiver, donc, par exemple, pour autoriser la lecture, l'écriture et l'exécution pour tous les utilisateurs, vous devriez avoir quelque chose comme ceci:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=000  0  0

S'il existe déjà une fmaskoption, le moyen le plus simple d'activer le bit d'exécution est de soustraire 1 de tout chiffre impair.

Si vous ne savez pas comment fonctionne le masquage des autorisations, l'idée de base est que les autorisations de lecture, d'écriture et d'exécution sont représentées par les valeurs 4, 2 et 1 respectivement. Vous pouvez les ajouter ensemble pour combiner les autorisations. Ainsi, par exemple, lecture + écriture serait 6. Le masque d'autorisation est une combinaison de trois chiffres qui s'appliquent au propriétaire, au groupe et aux «autres» (tout le monde).

N'oubliez pas que fmask(également umasket dmask) dans fstab sont les autorisations que vous souhaitez désactiver .

À titre d'exemple un peu plus intéressant, cela définirait les autorisations sur "rwx" pour le propriétaire, "rx" pour le groupe et "r" pour tout le monde:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=023  0  0
Matthew Crumley
la source
merci matthew ... cette entrée fstab détient la clé de mon problème ... comme j'ai récemment installé l'ubuntu RC, donc je n'ai pas inclus l'entrée fstab pour le montage automatique des disques ntfs ... que j'avais dans mon OS précédent. .. donc le drapeau exec est la clé..qui je crois n'est pas inclus lors du montage manuel en "double cliquant" sur les disques dans la vue de mon ordinateur .. merci. :)
ashishsony
C'est ce que je devais faire pour modifier les autorisations pour les choses sur mon deuxième lecteur.
dkuntz2
"Contrairement à ce que la plupart des gens pensent, NTFS est un système de fichiers compatible POSIX¹, et il est possible d'utiliser des autorisations sur NTFS" askubuntu.com/a/74851/253474 technet.microsoft.com/en-us/library/cc976809.aspx
phuclv
0

J'utilise une ligne telle que la suivante dans mon /etc/fstabfichier:

/dev/sda5    /media/disk    ntfs,   user,noauto,exec    0 2

ce qui empêche la partition d'être montée au démarrage, mais me permet de monter en tant que root avec:

sudo mount /dev/sda5

ou

sudo mount /media/disk 

à partir de la ligne de commande.

Le montage à partir de "Places" donne une erreur, donc cette solution n'est pas parfaite, mais je suis prêt à vivre avec. J'espère que cela sera utile pour les autres.

Peachy
la source
0

Cela ressemble à un bug dans les anciennes versions ...

Essayez de passer à Wine 1.3

Cela a fonctionné pour moi, et maintenant je peux installer n'importe quoi directement à partir d'une partition NTFS.

Rafael Borges
la source