Không mất một chút thời gian để vượt qua các quyền của tệp Windows, bạn khó có thể nói chính xác điều gì đang xảy ra.
Rất may, tôi không cần phải biết điều đó. Cách khắc phục đơn giản để giải quyết tất cả các tai ương cho phép tệp của bạn là sử dụng noacltùy chọn cho tất cả các giá trị Cygwin.
Mở /etc/fstabtrong trình soạn thảo văn bản Cygwin yêu thích của bạn (hoặc, thông thường, C:\cygwin\etc\fstabtrong Windows yêu thích của bạn, miễn là nó hỗ trợ các kết thúc dòng Unix [vì vậy không phải là Notepad]). Của tôi trước đây trông như thế này:
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table
# This is default anyway:
# none /cygdrive cygdrive binary,posix=0,user 0 0
Nếu dòng cuối cùng vẫn được nhận xét, hãy xóa hàng đầu # để hệ thống sẽ chú ý đến nó. Nó có thể không được bình luận, trong trường hợp đó sẽ không có # để xóa.
Sau đó, vào danh sách các tùy chọn (đó là binary,posix=0,userbit), thêm ,noaclvào cuối. Dòng liên quan trong tôi /etc/fstabsau đó trông giống như dưới đây:
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
Sau đó đóng và mở lại tất cả các ứng dụng Cygwin của bạn (bạn có thể cần phải khởi động lại) và bạn sẽ ngừng xem bất kỳ vấn đề về quyền nào.
Lưu ý rằng nếu bạn đã làm những việc phức tạp với điểm gắn kết của mình, bạn có thể cần chỉnh sửa nhiều dòng /etc/fstab, cũng như bất kỳ tệp nào đã tích lũy /etc/fstab.d. Những thay đổi bạn cần thực hiện sẽ giống nhau cho tất cả những thay đổi này.
Các noacltùy chọn sẽ cho kết quả trong Cygwin hoàn toàn phớt lờ tất cả các danh sách kiểm soát truy cập NTFS. Nó vẫn sẽ xem xét thuộc tính chỉ đọc của DOS, nhưng nó không bị ràng buộc với bất kỳ người dùng nào. Điều này có nghĩa là nó sẽ không thể biết liệu một tập tin có thể thực thi được hay không dựa trên quyền; thay vào đó, nó giả sử bất kỳ tập tin nào kết thúc .bat, .comhoặc .execó thể thực thi được, cũng như bất kỳ tập tin nào bắt đầu bằng #!.
Đọc thêm, nếu bạn quan tâm, từ Hướng dẫn sử dụng của Cygwin:
git --exec-pathkhông?