Nie można ustawić uprawnień do plików na partycji NTFS


12

Pamiętam, że byłem w stanie uruchomić .exe Linuxa, który został umieszczony na partycji NTFS wcześniej, zanim zainstalowałem 10.10 RC. Ale jeśli spróbuję go teraz uruchomić, nie mogę go uruchomić, ponieważ nie ma on uprawnień do wykonywania. Złe jest to, że nie mogę też zmienić uprawnień. Ja chmod-ding +xale żadna zmiana w ogóle z jego uprawnieniami.

Więc to wydaje się być błędem? Jakaś pomoc?

Chociaż po umieszczeniu go na partycji ext4 mogę ustawić uprawnienia. Ale chcę to zrobić tak, jak wcześniej, bezpośrednio z domyślnej lokalizacji NTFS.

Odpowiedzi:


12

NTFS nie obsługuje uprawnień do wykonywania, ponieważ jest przeznaczony dla systemu Windows, który nie ma takiej samej koncepcji plików „wykonywalnych” jak Linux. Jeśli próbujesz uruchomić pliki .exe systemu Windows w programie Wine, powinno ono nadal działać, jeśli uruchomisz program wine w sposób jawny:

wine /path/to/executable.exe

Jeśli potrzebujesz bezpośrednio wykonać pliki, możesz ustawić uprawnienia, które zostaną zastosowane do wszystkich plików, z fmaskopcją w /etc/fstab. Być może trzeba będzie dodać tę execopcję, jeśli nie jest to domyślna wartość dla systemu plików NTFS (nie mam teraz dostępnego dysku do sprawdzenia). Wartość parametru fmaskmówi sterownikowi, które bity należy wyłączyć, więc na przykład, aby umożliwić odczyt, zapis i wykonanie wszystkim użytkownikom, powinieneś mieć coś takiego:

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

Jeśli istnieje już fmaskopcja, najprostszym sposobem włączenia bitu wykonania jest odjęcie 1 od dowolnej nieparzystej cyfry.

Jeśli nie wiesz, jak działa maskowanie uprawnień, podstawową ideą jest to, że uprawnienia do odczytu, zapisu i wykonywania są reprezentowane odpowiednio przez wartości 4, 2 i 1. Możesz dodać je razem, aby połączyć uprawnienia, na przykład czytanie i pisanie to 6. Maska uprawnień to kombinacja trzech cyfr, które dotyczą właściciela, grupy i „innych” (wszystkich innych).

Pamiętaj tylko, że fmask(także umaski dmask) w fstab są uprawnienia, które chcesz wyłączyć .

Jako nieco bardziej interesujący przykład, ustawiłoby to uprawnienia „rwx” dla właściciela, „rx” dla grupy i „r” dla wszystkich innych:

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

dzięki Matthew ... ten wpis fstab trzyma klucz do mojego problemu ... jak niedawno zainstalowałem Ubuntu RC, więc nie dodałem wpisu fstab do automatycznego montażu napędów NTFS ... który miałem w moim wcześniejszym systemie operacyjnym. .. więc flaga exec jest kluczem, który, jak sądzę, nie jest uwzględniony podczas ręcznego montowania poprzez „podwójne kliknięcie” na dyskach w widoku mojego komputera .. dzięki. :)
ashishsony

To właśnie musiałem zrobić, aby zmienić uprawnienia do rzeczy na drugim dysku.
dkuntz2,

„W przeciwieństwie do tego, co większość ludzi uważa, NTFS jest systemem plików zgodnym z POSIX¹
phuclv

0

W moim /etc/fstabpliku używam wiersza takiego jak poniżej :

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

co zapobiega montowaniu partycji podczas uruchamiania, ale pozwala mi montować jako root za pomocą:

sudo mount /dev/sda5

lub

sudo mount /media/disk 

z linii poleceń.

Montaż z „Miejsc” daje błąd, więc to rozwiązanie nie jest idealne, ale jestem gotów z tym żyć. Mam nadzieję, że jest to przydatne dla innych.


0

Wygląda jak błąd w starszych wersjach ...

Spróbuj uaktualnić do Wine 1.3

To działało dla mnie i teraz mogę zainstalować wszystko bezpośrednio z partycji NTFS.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.