Tại sao Ubuntu từ chối thực thi các tệp từ phân vùng NTFS?


15

Tôi gắn kết một phân vùng NTFS (nơi tôi đã có một số tệp nhị phân và tập lệnh Linux cùng với Win32 và các tệp dữ liệu) với dòng fstab sau:

/dev/sda5 /mnt/dat ntfs-3g rw,dev,exec,auto,async,users,umask=000,uid=1000,gid=1000,locale=en_US.utf8,  errors=remount-ro 0 0

Tất cả các tệp dường như đã được đặt thuộc tính thực thi sau đó, nhưng nếu tôi thực sự cố thực thi chúng, tôi sẽ gặp lỗi "Quyền bị từ chối". Ngay cả với sudo. Ngay cả khi quyền thực thi (cũng như đọc và ghi) được cấp cho mọi người và tất cả chủ sở hữu tệp được đặt cho người dùng.

Vậy làm cách nào để thiết lập hệ thống để có thể chạy các tệp nhị phân Linux từ NTFS?


2
có thể trùng lặp với quyền .exe không thành công
RolandiXor

8
Thậm chí khó liên quan đến câu hỏi ".exe cho phép tập tin thất bại". Tôi không có vấn đề với các tập tin .exe. Câu hỏi KHÔNG phải là về việc chạy các tệp thực thi của Windows trên Linux, mà là về việc chạy các tệp thực thi của Linux nằm trên một phân vùng Windows.
Ivan

2
nếu bạn đọc kỹ điều này - bạn sẽ thấy rằng nó có liên quan. Hoặc có thể bạn không hiểu cách linux nhìn thấy các tệp thực thi. Phần mở rộng không tạo ra sự khác biệt.
RolandiXor


hãy thử sử dụng fmask = 0022, dmask = 0000 thay vì umask
Faizan Akram Dar

Câu trả lời:


5

Tôi đã có cùng một vấn đề chính xác và giải pháp trong trường hợp của tôi là viết de exectùy chọn gắn kết sau khi các userstùy chọn. Đó là bởi vì userstùy chọn ngầm kích hoạt noexectùy chọn, vì vậy bạn phải xác định rõ ràng exec.

Tôi đã nhận được điều này từ "Tại sao tôi không thể chạy các chương trình trên một phân vùng khác trong Linux?" trên Unix & Linux Stack Exchange .


Chính xác là đúng - "người dùng" thiết lập noexec, vì vậy "người dùng, người thực thi" nên được sử dụng theo thứ tự đó.
Brent Faust

2

Có một vài người nghiền ngẫm điều này trong các kênh trò chuyện. Một trong những người đề nghị bạn hãy xem câu trả lời của George Edison cho câu hỏi này và xem liệu nó có giúp bạn không:
cho phép tệp .exe không thành công

Lưu ý rằng bạn sẽ phải có thêm tùy chọn gắn kết trên phân vùng NTFS để thực thi trực tiếp các tệp nhị phân từ các phân vùng đó - userstùy chọn và exectùy chọn. userscho phép ngắt kết nối bởi những người không phải là siêu nhân (cũng như lắp đặt) và execcho phép các thực thi được chạy từ nó (tuy nhiên, hãy nhớ rằng đây không phải là một đảm bảo để làm cho mọi thứ hoạt động).


5
Tôi không có vấn đề với các tập tin .exe. Câu hỏi KHÔNG phải là về việc chạy các tệp thực thi của Windows trên Linux, mà là về việc chạy các tệp thực thi của Linux nằm trên một phân vùng Windows.
Ivan

3
thở dài ... xin vui lòng đọc nó một cách cẩn thận.
RolandiXor

1

Đó là "tính năng" của gói udisks, theo mặc định, hạn chế sửa đổi quyền trên phân vùng ntfs (hoặc các phân vùng không phải Linux khác).

Để kích hoạt tính năng này, bạn có thể muốn đọc,

Cho phép thiết lập quyền thực thi của tệp tại phân vùng NTFS



10
Liên kết trong câu trả lời này đã chết :(
Abby
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.