Tidak dapat mengatur izin untuk file di partisi NTFS

12

Saya ingat bahwa saya dapat menjalankan .exe Linux yang ditempatkan pada partisi NTFS sebelumnya sebelum saya menginstal 10.10 RC. Tetapi jika saya mencoba menjalankannya sekarang, saya tidak dapat menjalankannya karena tidak memiliki izin eksekusi. Bagian yang buruk adalah bahwa saya tidak dapat mengubah izin juga. Saya chmod-tapi +xtetapi tidak ada perubahan sama sekali dengan izinnya.

Jadi ini sepertinya bug? Ada bantuan?

Meskipun ketika saya meletakkannya di partisi ext4, saya dapat mengatur izin. Tapi saya ingin melakukan ini seperti yang saya lakukan sebelumnya, langsung dari lokasi NTFS standarnya.

ashishsony
sumber

Jawaban:

12

NTFS tidak mendukung izin eksekusi karena dirancang untuk Windows, yang tidak memiliki konsep yang sama dengan file "yang dapat dieksekusi" seperti Linux. Jika Anda mencoba menjalankan file .exe Windows di Wine, itu akan tetap berfungsi jika Anda menjalankan anggur secara eksplisit, seperti ini:

wine /path/to/executable.exe

Jika Anda perlu menjalankan file secara langsung, Anda dapat mengatur izin yang akan diterapkan ke semua file dengan fmaskopsi di /etc/fstab. Anda juga mungkin perlu menambahkan execopsi jika itu bukan default untuk NTFS (saya tidak punya drive berguna untuk memeriksa sekarang). Nilai untuk fmaskmemberi tahu driver bit mana yang harus dimatikan, jadi, misalnya, untuk mengizinkan membaca, menulis, dan mengeksekusi untuk semua pengguna, Anda harus memiliki sesuatu seperti ini:

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

Jika sudah ada fmaskopsi, cara paling sederhana untuk menghidupkan bit eksekusi adalah dengan mengurangi 1 dari digit mana pun yang aneh.

Jika Anda tidak tahu cara kerja masking izin, ide dasarnya adalah bahwa izin baca, tulis, dan eksekusi diwakili oleh nilai 4, 2, dan 1 masing-masing. Anda dapat menambahkannya bersama untuk menggabungkan izin sehingga, misalnya, membaca + menulis akan menjadi 6. Topeng izin adalah kombinasi dari tiga digit yang berlaku untuk pemilik, grup, dan "orang lain" (semua orang).

Ingatlah bahwa fmask(juga, umaskdan dmask) di fstab adalah izin yang ingin Anda matikan .

Sebagai contoh yang sedikit lebih menarik, ini akan mengatur izin menjadi "rwx" untuk pemilik, "rx" untuk grup, dan "r" untuk semua orang:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=023  0  0
Matthew Crumley
sumber
terima kasih matthew ... bahwa entri fstab memegang kunci untuk masalah saya ... karena saya baru saja menginstal RC ubuntu, jadi saya tidak memasukkan entri fstab untuk pemasangan otomatis drive ntfs ... yang saya miliki di OS saya sebelumnya. .. jadi flag exec adalah kuncinya..yang saya yakini tidak termasuk saat pemasangan secara manual dengan "mengklik ganda" pada drive di tampilan komputer saya .. terima kasih. :)
ashishsony
Inilah yang harus saya lakukan untuk mengubah izin untuk hal-hal di drive kedua saya.
dkuntz2
"Bertentangan dengan apa yang kebanyakan orang percaya, NTFS adalah filesystem POSIX-compatible¹, dan adalah mungkin untuk menggunakan hak akses pada NTFS" askubuntu.com/a/74851/253474 technet.microsoft.com/en-us/library/cc976809.aspx
phuclv
0

Saya menggunakan baris seperti berikut ini di /etc/fstabfile saya :

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

yang mencegah partisi dipasang pada saat startup, tetapi memungkinkan saya untuk me-mount sebagai root dengan:

sudo mount /dev/sda5

atau

sudo mount /media/disk 

dari baris perintah.

Memasang dari "Tempat" memberikan kesalahan, jadi solusi ini tidak sempurna, tapi saya bersedia hidup dengannya. Semoga ini bermanfaat bagi orang lain.

Sangat bagus
sumber
0

Sepertinya ada bug di versi yang lebih lama ...

Coba tingkatkan ke Wine 1.3

Ini bekerja untuk saya, dan sekarang saya dapat menginstal apa pun langsung dari partisi NTFS.

Rafael Borges
sumber