Tiếng Việt

Công cụ dành cho nhà phát triển · Máy tính Chmod

Những gì chmod không thể thể hiện: khả năng, tệp không thể thay đổi và MAC

· Lý lịch

chmod unix access-control

giới hạn vượt quá các bit chế độ được hiển thị dưới dạng sơ đồ bit quyền Unix riêng biệt
Hình minh họa vector ToolAcre gốc

Các bit chế độ là một trong nhiều lớp quyết định liệu một hoạt động có thành công hay không. Bài đăng này giới thiệu những tính năng khác (khả năng của tệp, cờ chattr, SELinux và AppArmor) và cách nhận biết sự từ chối của từng tính năng.

Root không thể ghi tệp 644 - chế độ cho biết có, chmod không thay đổi gì và lỗi vẫn tiếp diễn

Một chế độ có thể cho phép một thao tác trong khi thao tác đó vẫn thất bại. Máy tính giải mã 644 dưới dạng rw-r--r--, nghĩa là chủ sở hữu có thể đọc và sửa đổi tệp thông thường trong khi nhóm và người khác có thể đọc tệp đó. Điều đó chỉ giải quyết các bit truyền thống được cung cấp. Nó không chứng minh quyền sở hữu quy trình, nhận dạng đường dẫn cũng như sự vắng mặt của lớp thực thi khác.

Các nguồn nêu tên một số điều khiển chưa được mô hình hóa: khả năng, thuộc tính bất biến, chính sách truy cập bắt buộc, gắn cờ, không gian tên, bộ lọc tòa nhà, ACL và quyền sở hữu. Việc vào lại một chế độ hoặc tạo một lệnh chmod khác không tiết lộ gì về chúng. Đầu tiên hãy xác minh thỏa thuận bát phân, ký hiệu và ma trận; nếu thất bại vẫn tiếp diễn, hãy thu thập bằng chứng từ môi trường thay vì mở rộng những phỏng đoán về chmod.

Hoạt động tương thích với chế độ vẫn có thể không thành công đối với các lớp mà công cụ này không thể nhìn thấy

Các mô hình máy tính không có thứ tự giữa các điều khiển bên ngoài. Toàn bộ mô hình dữ liệu của nó là một số nguyên từ bát phân 0000 đến 7777, được mở rộng thành chủ sở hữu, nhóm, người khác, setuid, setgid và boolean dính. Giải thích sử dụng giá trị và loại mục tiêu đó. Không có đường dẫn quyết định hạt nhân, trình tự mô-đun bảo mật hoặc kết quả cuộc gọi hệ thống nào được đưa vào phép tính.

Hạn chế đó làm cho trang trở thành bước đầu tiên được kiểm soát. Xác nhận chế độ, phân biệt truyền tải với thực thi và lưu ý các chữ cái bit đặc biệt. Điều 501 thêm quyền sở hữu và thực thi thư mục mẹ dưới dạng kiểm tra lân cận. Ngoài những nguồn đó, những nguồn này không cung cấp xếp hạng chẩn đoán giữa các ACL, chính sách bắt buộc, gắn kết, thuộc tính, không gian tên, khả năng hoặc bộ lọc. Một chế độ tương thích chỉ thu hẹp câu hỏi.

Máy tính không lập mô hình thứ tự giữa các lớp thực thi bên ngoài

Khả năng tệp nằm ngoài bằng chứng có sẵn. Việc triển khai không chứa tên khả năng, trình phân tích dữ liệu, lệnh kiểm tra hoặc tài khoản tương tác của chúng với setuid. Nó có thể mã hóa setuid dưới dạng 4000 và giải thích một tệp thông thường có thể thực thi được. Điều đó không nên trở thành sự so sánh với các hệ thống đặc quyền chi tiết hơn mà kho lưu trữ này không phải là mô hình cũng như tài liệu.

Những gì trang này chứng minh là cụ thể. Chế độ 4755 trở thành rwsr-xr-x, tên tóm tắt của nó là setuid và các bài tập nối thêm u+s. Chế độ 4644 sử dụng chữ hoa S vì chủ sở hữu không thực thi, làm lộ ra một tổ hợp được gọi là hầu như luôn bị nhầm lẫn. Các thử nghiệm thiết lập các dữ kiện chế độ đó; các công cụ bên ngoài phải xác định xem các khả năng có tồn tại, cho phép truy cập hay đưa ra thiết kế tốt hơn hay không.

Khả năng của tệp nằm ngoài bộ nguồn

Các thuộc tính bất biến và chỉ bổ sung cũng không có trong mô hình. Máy tính không đọc các thuộc tính của hệ thống tệp cũng như không nhận ra các lệnh để thay đổi chúng. Ma trận của nó chứa rwx cho chủ sở hữu, nhóm và người khác, cùng với ba bit đặc biệt. Do đó, bit ghi hiển thị không thể đảm bảo ghi thành công và việc chuyển đổi liên tục nó không thể chẩn đoán thuộc tính mà trang chưa bao giờ quan sát thấy.

Giữ sự khác biệt hoạt động. Nếu 644 hiển thị chính xác thì nội dung ghi của chủ sở hữu tồn tại ở chế độ truyền thống; đó là bằng chứng đại diện, không phải là một bài viết hoàn chỉnh. Trang không mở đường dẫn hiển thị được trích dẫn an toàn hoặc chạy lệnh được tạo. Khi có đủ số bit đi kèm với một lỗi thực sự, hãy kiểm tra đối tượng và hệ thống thực tế thay vì quy kết trạng thái không quan sát được.

Các thuộc tính không thể thay đổi và chỉ nối thêm nằm ngoài bộ nguồn

Các bối cảnh, hồ sơ và nhật ký kiểm soát truy cập bắt buộc không được phân tích cú pháp ở đây. Các nguồn chỉ đề cập đến SELinux và AppArmor như những ví dụ về các quyết định mà máy tính không thể quan sát được. Chúng không cung cấp cú pháp ngữ cảnh, ngữ nghĩa chính sách, định dạng nhật ký hoặc lệnh chẩn đoán. Do đó, chỉ riêng chế độ không thể quy sự từ chối cho một trong hai hệ thống; bằng chứng phải đến từ môi trường thực thi.

Bộ chọn tệp hoặc thư mục củng cố ranh giới này. Nó thay đổi các động từ như chạy, liệt kê, tạo, xóa, nhập và tiếp cận, nhưng không làm thay đổi số nguyên cũng như không đọc nhãn chính sách. Chương trình và thư mục 755 chia sẻ rwxr-xr-x trong khi mô tả các hành động thông thường khác nhau. Không có lời giải thích nào dự đoán kết quả của chính sách bắt buộc, vì vậy hãy giữ lại chế độ đã xác minh và tham khảo nhật ký nền tảng.

Các bối cảnh và nhật ký kiểm soát truy cập bắt buộc nằm ngoài bộ nguồn

Chế độ được cung cấp không thể tiết lộ các tùy chọn gắn kết. Máy tính chấp nhận văn bản bát phân hoặc ký hiệu và đường dẫn tùy chọn chỉ được sử dụng để hiển thị lệnh. Nó không bao giờ mở đường dẫn đó, xác định giá trị gắn kết của nó hoặc đọc cấu hình. Các nguồn liệt kê hành vi chỉ đọc, không thực thi và không thiết lập là mối lo ngại bên ngoài nhưng không cung cấp chi tiết nền tảng để chẩn đoán các chính sách đó.

Văn bản được tạo có thể bao gồm chế độ bát phân, đường dẫn được trích dẫn và cờ -R được hiển thị, nhưng không có gì chứng minh hệ thống tệp sẽ đáp ứng yêu cầu. Ngay cả một giá trị bit đặc biệt mà các chuyến đi khứ hồi hoàn hảo cũng có thể không hiệu quả theo các quy tắc không nhìn thấy được. Hãy coi lệnh như một tạo phẩm đánh giá, sau đó xác minh hệ thống tệp đích trước khi yêu cầu quyền thay đổi hoặc có thể thực thi.

Tùy chọn gắn kết không được phát hiện từ chế độ được cung cấp

Không gian tên và bộ lọc cuộc gọi tòa nhà không xuất hiện trong mô hình chế độ. Đầu vào không chứa nhận dạng quy trình, bối cảnh vùng chứa, danh sách cuộc gọi tòa nhà hoặc cấu hình thời gian chạy. Trang không thể biết liệu một quy trình có nhìn thấy cùng một đường dẫn, có đến được đối tượng mong đợi hay có cuộc gọi bị lọc hay không. Những câu hỏi đó về cơ bản khác với việc thêm 4, 2 và 1 trong bộ ba quyền.

Không suy ra cơ chế thời gian chạy từ một chuyển đổi thành công. Xác thực bao gồm các chữ số bát phân không đúng định dạng, độ dài ký hiệu và các chữ cái bị đặt sai vị trí. Kết quả hợp lệ chỉ có nghĩa là văn bản đó ánh xạ tới chế độ có thể biểu thị; nó không xác nhận môi trường thực thi. Bởi vì văn bản shell được tạo là trơ nên việc phân tích vùng tên và bộ lọc vẫn yêu cầu bằng chứng thời gian chạy không có trong các nguồn này.

Không gian tên và bộ lọc tòa nhà không được trình bày

Bắt đầu với chế độ vì nó nhỏ gọn và dễ dàng điều chỉnh vào hoặc ra. Dịch giá trị, kiểm tra từng lớp, phân biệt tệp với thư mục và hiển thị bất kỳ tiền tố bit đặc biệt nào. Sự thống nhất giữa bát phân, ký hiệu, ma trận, tóm tắt và giải thích làm cho câu hỏi truyền thống được hình thành tốt. Nó có thể tiết lộ một chút thiếu hoặc thừa, không phải là quyền độc quyền.

Chỉ tiếp tục với bằng chứng từ hệ thống thực. Quyền sở hữu, ACL, thuộc tính, chính sách bắt buộc, gắn kết, khả năng, không gian tên, bộ lọc và quy tắc ứng dụng không được phát hiện ở đây. Bản xem trước không đọc cũng như không thay đổi tệp. Kết luận có tính kỷ luật rất hẹp: giải quyết cục bộ số học của chế độ cung cấp, sau đó điều tra việc thực thi bên ngoài thay vì chuyển qua các giá trị chmod rộng hơn mà không biết sự từ chối.