Một mặt, có những điều mà không người dùng nào có thể làm, chẳng hạn như
- thư mục liên kết cứng (vì giới hạn hệ thống tệp)
- ghi vào đĩa CD-ROM đã bị cháy (vì vật lý)
Nhưng đó không phải là đặc quyền, bởi vì chúng không thể được cấp, chúng chỉ là không thể đối với bất kỳ ai.
Sau đó, có những hạn chế cho toàn bộ hệ thống hoặc các bộ phận của nó có thể được bật hoặc tắt.
Ví dụ: trên OS X có một tùy chọn chỉ cho phép mã chạy nếu nó đã được Apple ký.
Tôi cũng không coi đây là một đặc quyền thực sự, bởi vì không người dùng nào có thể có nó nếu siêu người dùng không thể. Bạn chỉ có thể vô hiệu hóa nó trên toàn cầu.
Chỉnh sửa:
Ý tưởng của bạn về một tệp không có bit thực thi cũng sẽ thuộc loại này, vì theo nghĩa đen là không ai có thể làm điều đó và không ai có thể được cấp quyền đó.
Và ngay cả khi cấp cho người dùng hoặc nhóm khác quyền thực thi tệp đó, nhưng không phải root hoặc root nhóm người dùng, root vẫn có thể thực thi tệp đó (được thử nghiệm trên máy chủ OS X 10.10, 10.11 và Ubuntu 15.04).
Ngoài những trường hợp đó, hầu như không có gì root không thể làm được.
Tuy nhiên, có một thứ gọi là chế độ kernel (trái ngược với chế độ người dùng).
Theo như tôi biết, trên một hệ thống lành mạnh, chỉ có kernel, phần mở rộng kernel và trình điều khiển chạy ở chế độ kernel và mọi thứ khác (bao gồm cả shell mà bạn đăng nhập với quyền root) chạy trong chế độ người dùng.
Do đó, bạn có thể lập luận rằng "là root là không đủ". Tuy nhiên, trên hầu hết các hệ thống, người dùng root có thể tải các mô-đun hạt nhân, lần lượt sẽ chạy trong chế độ kernel, mang lại hiệu quả cho root cách chạy mã trong chế độ kernel.
Tuy nhiên, có những hệ thống (như iOS) trong đó điều này là không thể (tùy tiện), ít nhất là không phải không khai thác các điểm an ninh. Điều này chủ yếu là do tăng cường bảo mật, như thực thi ký mã.
Ví dụ: có các khóa mã hóa AES được tích hợp trong bộ xử lý của iDevices, chỉ có thể được truy cập từ chế độ kernel. Các mô-đun hạt nhân có thể truy cập vào các mô-đun đó, nhưng mã trong các mô-đun hạt nhân đó cũng sẽ phải được Apple ký để hạt nhân chấp nhận chúng.
Trên OS X, kể từ phiên bản 10.11 (El Capitan) cũng có cái gọi là "chế độ không root" (mặc dù tên này gây hiểu nhầm vì root vẫn tồn tại), điều này có hiệu quả cấm root một số thứ mà trình cài đặt vẫn có thể thực hiện.
Trích dẫn từ câu trả lời tuyệt vời này trên AskDifferent :
Đây là những gì nó hạn chế, thậm chí từ root:
- Bạn không thể sửa đổi bất cứ điều gì trong / Hệ thống, / bin, / sbin hoặc / usr (ngoại trừ / usr / local); hoặc bất kỳ ứng dụng và tiện ích tích hợp nào. Chỉ Trình cài đặt và cập nhật phần mềm mới có thể sửa đổi các khu vực này và thậm chí chúng chỉ thực hiện khi cài đặt các gói do Apple ký.
root
, và do đó không có quyền nào có thể bị tước đoạtroot
.