Impossibile impostare le autorizzazioni per i file su una partizione NTFS


12

Ricordo che sono stato in grado di eseguire un file .exe Linux che era stato precedentemente inserito in una partizione NTFS prima di installare 10.10 RC. Ma se provo a eseguirlo ora, non posso eseguirlo in quanto non dispone dell'autorizzazione di esecuzione. La parte negativa è che non posso cambiare anche le autorizzazioni. Sto chmodpreparando, +xma non ho apportato alcun cambiamento con le sue autorizzazioni.

Quindi questo sembra essere un bug? Qualsiasi aiuto?

Sebbene quando lo metto sulla partizione ext4, posso impostare l'autorizzazione. Ma voglio farlo come ho fatto prima, proprio dalla sua posizione NTFS predefinita.

Risposte:


12

NTFS non supporta l'autorizzazione di esecuzione perché è progettata per Windows, che non ha lo stesso concetto di file "eseguibili" di Linux. Se stai cercando di eseguire i file .exe di Windows in Wine, dovrebbe comunque funzionare se esegui wine in modo esplicito, in questo modo:

wine /path/to/executable.exe

Se è necessario eseguire direttamente i file, è possibile impostare le autorizzazioni che verranno applicate a tutti i file con l' fmaskopzione in /etc/fstab. Potrebbe anche essere necessario aggiungere l' execopzione se questo non è il valore predefinito per NTFS (non ho un'unità a portata di mano per verificare in questo momento). Il valore per fmaskindica al driver quali bit disattivare, quindi, ad esempio, per consentire la lettura, la scrittura e l'esecuzione per tutti gli utenti, dovresti avere qualcosa del genere:

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

Se esiste già fmaskun'opzione, il modo più semplice per attivare il bit di esecuzione è sottrarre 1 da qualsiasi cifra dispari.

Se non sai come funziona il mascheramento delle autorizzazioni, l'idea di base è che le autorizzazioni di lettura, scrittura ed esecuzione siano rappresentate rispettivamente dai valori 4, 2 e 1. Puoi aggiungerli insieme per combinare le autorizzazioni, ad esempio, leggere + scrivere sarebbe 6. La maschera delle autorizzazioni è una combinazione di tre cifre che si applicano al proprietario, al gruppo e agli "altri" (tutti gli altri).

Ricorda solo che fmask(anche umaske dmask) in fstab sono le autorizzazioni che desideri disattivare .

Come esempio leggermente più interessante, questo imposta le autorizzazioni su "rwx" per il proprietario, "rx" per il gruppo e "r" per tutti gli altri:

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

grazie matthew ... che la voce fstab contiene la chiave del mio problema ... come ho recentemente installato Ubuntu RC, quindi non ho incluso la voce fstab per il montaggio automatico delle unità NTFS ... che avevo nel mio sistema operativo precedente. .. quindi il flag exec è la chiave..che credo non sia incluso durante il montaggio manuale "facendo doppio clic" sulle unità nella vista del mio computer .. grazie. :)
ashishsony,

Questo è quello che dovevo fare per cambiare i permessi per le cose sul mio secondo disco.
dkuntz2,

"Contrariamente a quanto molti credono, NTFS è un filesystem compatibile con POSIX¹ ed è possibile usare le autorizzazioni su NTFS" askubuntu.com/a/74851/253474 technet.microsoft.com/en-us/library/cc976809.aspx
phuclv,

0

Nel mio /etc/fstabfile utilizzo una riga come la seguente :

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

che impedisce che la partizione venga montata all'avvio, ma mi permette di montare come root con:

sudo mount /dev/sda5

o

sudo mount /media/disk 

dalla riga di comando.

Il montaggio da "Luoghi" genera un errore, quindi questa soluzione non è perfetta, ma sono disposto a conviverci. Spero che questo sia utile per gli altri.


0

Sembra un bug nelle versioni precedenti ...

Prova a passare a Wine 1.3

Questo ha funzionato per me e ora posso installare qualsiasi cosa direttamente da una partizione NTFS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.