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.

Ashishsony
źródło

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
Matthew Crumley
źródło
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.

Aksamitny
źródło
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.

Rafael Borges
źródło