Không thể đặt quyền cho các tệp trên phân vùng NTFS


12

Tôi nhớ rằng tôi đã có thể chạy Linux .exe được đặt trên phân vùng NTFS trước khi tôi cài đặt 10.10 RC. Nhưng nếu tôi cố chạy nó bây giờ, tôi không thể chạy nó vì nó không có quyền thực thi. Phần tồi tệ là tôi cũng không thể thay đổi quyền. Tôi chmod-ding +xnhưng không thay đổi gì với quyền của nó.

Vì vậy, điều này dường như là một lỗi? Có ai giúp đỡ không?

Mặc dù khi tôi đặt nó trên phân vùng ext4, tôi có thể đặt quyền. Nhưng tôi muốn làm điều này như tôi đã làm trước đây, ngay từ vị trí NTFS mặc định của nó.

Câu trả lời:


12

NTFS không hỗ trợ quyền thực thi vì nó được thiết kế cho Windows, vốn không có cùng khái niệm về các tệp "thực thi" như Linux. Nếu bạn đang cố chạy các tệp Windows .exe trong Wine, nó vẫn hoạt động nếu bạn chạy rượu rõ ràng, như thế này:

wine /path/to/executable.exe

Nếu bạn cần thực thi các tệp trực tiếp, bạn có thể đặt các quyền sẽ được áp dụng cho tất cả các tệp có fmasktùy chọn trong /etc/fstab. Bạn cũng có thể cần thêm exectùy chọn nếu đó không phải là mặc định cho NTFS (Tôi không có sẵn ổ đĩa để kiểm tra ngay bây giờ). Giá trị cho fmasktrình điều khiển biết bit nào sẽ tắt, vì vậy, ví dụ, để cho phép đọc, ghi và thực thi cho tất cả người dùng, bạn nên có một cái gì đó như thế này:

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

Nếu đã có một fmasktùy chọn, cách đơn giản nhất để bật bit thực thi là trừ 1 từ bất kỳ chữ số nào lẻ.

Nếu bạn không biết cách mặt nạ cấp phép hoạt động, ý tưởng cơ bản là các quyền đọc, ghi và thực thi được thể hiện bằng các giá trị 4, 2 và 1 tương ứng. Bạn có thể thêm chúng lại với nhau để kết hợp các quyền, ví dụ: đọc + viết sẽ là 6. Mặt nạ quyền là sự kết hợp của ba chữ số áp dụng cho chủ sở hữu, nhóm và "người khác" (mọi người khác).

Chỉ cần nhớ rằng fmask(cũng umaskdmask) trong fstab là các quyền bạn muốn tắt .

Một ví dụ thú vị hơn một chút, điều này sẽ đặt quyền thành "rwx" cho chủ sở hữu, "rx" cho nhóm và "r" cho mọi người khác:

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

cảm ơn bạn .. vì vậy cờ exec là chìa khóa..những gì tôi tin là không được bao gồm trong khi gắn thủ công bằng cách "nhấp đúp" vào các ổ đĩa trong chế độ xem máy tính của tôi .. cảm ơn. :)
ashishsony

Đây là những gì tôi phải làm để thay đổi quyền cho những thứ trên ổ đĩa thứ hai của mình.
dkuntz2

"Trái với những gì hầu hết mọi người tin rằng, NTFS là một hệ thống tập tin POSIX-compatible¹, và nó có thể sử dụng quyền trên NTFS" askubuntu.com/a/74851/253474 technet.microsoft.com/en-us/library/cc976809.aspx
phuclv

0

Tôi sử dụng một dòng như sau trong /etc/fstabtập tin của tôi :

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

ngăn không cho phân vùng được gắn kết khi khởi động, nhưng cho phép tôi gắn kết với quyền root:

sudo mount /dev/sda5

hoặc là

sudo mount /media/disk 

từ dòng lệnh.

Gắn kết từ "Địa điểm" gây ra lỗi, vì vậy giải pháp này không hoàn hảo, nhưng tôi sẵn sàng sống với nó. Hy vọng điều này là hữu ích cho những người khác.


0

Có vẻ như một lỗi trong các phiên bản cũ hơn ...

Hãy thử nâng cấp lên Wine 1.3

Điều này làm việc cho tôi và bây giờ tôi có thể cài đặt mọi thứ trực tiếp từ phân vùng NTFS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.