Có, Mac có nhiều cải tiến đối với Unix trong lĩnh vực tệp. Bỏ qua toàn bộ tài nguyên ngã ba không được sử dụng nhiều nữa, có:
- các quyền Unix tiêu chuẩn
ugo
rwx
và như vậy. Các công cụ Unix thông thường được áp dụng.
- ACL , có thể xem
ls -le
và thay đổi với chmod [ -a | +a | =a ]
.
- cờ tập tin có thể xem được với
ls -lO
(Vốn oh, không phải không) và có thể thay đổi với chflags
.
- thuộc tính mở rộng , có thể xem với
ls -l@
(chỉ các khóa thuộc tính) và có thể xem và thay đổi với xattr
. (Sử dụng xattr -h
để được giúp đỡ nếu man xattr
không cung cấp cho bạn bất cứ điều gì.)
- Bắt đầu với OS X 10.11 "El Capitan", Bảo vệ toàn vẹn hệ thống (SIP) bảo vệ thêm một số tệp khỏi các thay đổi từ các quy trình thông thường, ngay cả khi sử dụng
sudo
để chạy như root
. Các tệp được bảo vệ bởi SIP sẽ được liệt kê bằng ls -lO
cách có restricted
cờ và / hoặc được liệt kê bằng ls -l@
cách có com.apple.rootless
thuộc tính.
Bạn có thể bị từ chối thao tác trên một tệp vì quyền Unix, ACL, cờ tệp hoặc SIP. Để mở khóa hoàn toàn một tập tin:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
Nếu Bảo vệ tính toàn vẹn hệ thống (SIP) được bật sudo chflags norestricted
và sudo xattr -d com.apple.rootless
cũng sẽ trả về lỗi "Hoạt động không được phép". Để xóa cờ và / hoặc thuộc tính, bạn cần khởi động vào macOS Recovery và chạy các lệnh từ Terminal (trước tiên bạn có thể phải sử dụng Disk Utility để mở khóa và gắn ổ đĩa khởi động, sau đó hãy nhớ rằng các tệp của bạn sẽ nằm dưới /Volumes/Macintosh HD
hoặc bất cứ thứ gì bạn khởi động ổ đĩa được đặt tên) hoặc vô hiệu hóa SIP hoàn toàn và sau đó khởi động lại và các lệnh sẽ hoạt động. Tuy nhiên, hãy lưu ý rằng các bản cập nhật hệ điều hành trong tương lai có thể sẽ khôi phục restricted
cờ và com.apple.rootless
thuộc tính cho bất kỳ tệp nào bạn đã xóa nó khỏi.
Vô hiệu hóa SIP không được khuyến khích vì nó loại bỏ rất nhiều sự bảo vệ chống lại phần mềm độc hại và thiệt hại do tai nạn, cộng với không cần thiết khi bạn chỉ cần loại bỏ bảo vệ trên cơ sở mỗi tệp. Nếu bạn tắt SIP, hãy bật lại khi bạn hoàn tất thay đổi.
Lưu ý rằng nếu ls -lO
hiển thị schg
cờ được đặt, bạn phải vào chế độ một người dùng để hủy đặt nó. Tôi sẽ không đi sâu vào vấn đề này ở đây vì có những câu hỏi lớn hơn về lý do tại sao tập tin có cờ đó và tại sao bạn lại cố gắng gây rối với nó và hậu quả sẽ ra sao.
sudo chgrp wheel ./entries
chưa