Công cụ dành cho nhà phát triển · Máy tính Chmod
Hai cuộc sống của bit dính: từ văn bản thường trú trao đổi đến /tmp
· Lý lịch
chmod unix access-control
Chữ t trong chế độ /tmp's có ý nghĩa hoàn toàn khác trong Unix những năm 1970. Bài đăng này tuân theo nội dung chi tiết từ gợi ý hiệu suất đến quy tắc xóa và giải thích những gì nó thực hiện ngày hôm nay.
drwxrwxrwt trên /tmp — chữ cái cuối cùng không phải là r, w hoặc x và lời giải thích một từ thông thường không giải thích được điều gì
Chuỗi drwxrwxrwt cho thấy tại sao số học rwx thông thường không phải là toàn bộ câu chuyện. Sticky là 1000 bit, được hiển thị ở vị trí thực thi cuối cùng. Với hiện tại thực thi khác, ký tự là chữ thường t; không có nó, chữ T viết hoa sẽ xuất hiện. Do đó, việc nhập 1777 sẽ tạo ra rwxrwxrwt, trong khi bản tóm tắt gồm bốn chữ số sẽ giữ nguyên chữ số bit đặc biệt hàng đầu.
Màn hình này chuyển đổi chế độ được cung cấp; nó không kiểm tra một thư mục. Trang chia một giá trị thành các bit chủ sở hữu, nhóm, khác và các bit đặc biệt, sau đó xây dựng lại mọi chế độ xem từ các phần đó. Thỏa thuận của họ xác minh số học, không phải quyền sở hữu, ACL hoặc chính sách hệ thống tệp. Lệnh chmod được tạo vẫn là văn bản thuần túy cho đến khi ai đó chạy nó ở nơi khác.
Ý nghĩa ban đầu - giữ đoạn văn bản của chương trình ở trạng thái hoán đổi sau khi thoát để lần chạy tiếp theo bắt đầu nhanh hơn trên các đĩa chậm
Phần giải thích về tệp thông thường cho biết sẽ cố định khi yêu cầu văn bản chương trình vẫn ở trạng thái hoán đổi. Đó là tuyên bố lịch sử hoàn chỉnh được hỗ trợ bởi các nguồn này. Họ không trích dẫn hướng dẫn sử dụng Unix chính, ngày tháng, hệ thống được đặt tên hoặc biện pháp áp dụng. Một tài khoản cẩn thận có thể đối chiếu ý nghĩa của tệp cũ đó với hành vi thư mục hiện tại mà không tạo ra lịch sử hệ điều hành rộng hơn.
Máy tính sẽ thiết lập cách biểu diễn bit. Sticky chiếm số bát phân 1000 và chia sẻ vị trí thực thi khác trong ký hiệu tượng trưng. Do đó 1777 kết thúc bằng t vì lệnh thực thi được đặt, trong khi 1644 kết thúc bằng T vì nó không có. Mặt nạ bit, trình phân tích cú pháp, trình kết xuất và kiểm tra khứ hồi hỗ trợ các sự kiện đó chứ không phải trình tự thời gian của hành vi hạt nhân.
Nguồn mô tả gợi ý tệp cũ nhưng không cung cấp trích dẫn lịch sử chính
Đối với các tệp thông thường, công cụ này mô tả cố định như một gợi ý hoán đổi lịch sử mà các hạt nhân hiện đại bỏ qua. Từ ngữ không nên trở thành một tuyên bố chung về mọi hạt nhân hoặc hệ thống tệp. Kho lưu trữ này cung cấp phần giải thích bằng máy tính chứ không phải bản khảo sát nền tảng. Điểm phòng thủ của nó hẹp hơn: dính không làm thay đổi các cấp phép đọc, ghi hoặc thực thi được hiển thị cho một tệp thông thường.
Việc trình bày vẫn chính xác ngay cả khi việc thực thi không được yêu cầu. Với tập thực thi khác, ký tự cuối cùng là t; không có nó, ký tự đó là T. Trình phân tích cú pháp sẽ khôi phục một trong hai dạng thành bit dính và kiểm tra bao gồm 1777, 1644 và mọi chế độ thông qua 7777. Không có chương trình nào khởi chạy chương trình, gắn kết hệ thống tệp hoặc truy vấn kernel về hành vi thực tế.
Giải thích về tệp thông thường cho biết các hạt nhân hiện đại bỏ qua tính dính; không có tuyên bố chung nào được đưa ra
Hành vi thư mục là cách sử dụng hiện đại mà việc triển khai giải thích trực tiếp. Trên một thư mục dùng chung, dính thêm một hạn chế xóa và đổi tên: mọi người có thể tạo các mục nhập, nhưng việc xóa chỉ được giới hạn ở chủ sở hữu hoặc người gốc của mục nhập đó. Các giá trị đặt trước ghi 1777 dưới dạng mẫu /tmp, trong khi phần giải thích cảnh báo khi mọi người có thể ghi một thư mục mà không bị dính.
Màn hình hiển thị sự khác biệt đó mà không yêu cầu kiểm tra /tmp. Chế độ 777 và 1777 chia sẻ các quyền thông thường rwxrwxrwx. Việc thêm 1000 sẽ thay đổi ký hiệu cuối cùng x thành t và nối thêm +t vào các bài tập được tạo. Chủ sở hữu, nhóm và các khoản trợ cấp khác không thay đổi; quyền sở hữu thực sự, ACL và các quy tắc hệ thống tệp vẫn nằm ngoài tính toán.
Hành vi dính thư mục là lời giải thích được thực hiện ngày nay
Câu thư mục nêu một quy tắc giới hạn: với tập dính, chỉ chủ sở hữu hoặc người chủ của tệp mới có thể xóa hoặc đổi tên nó. Công cụ này không giải quyết danh tính, kiểm tra quyền sở hữu thư mục hoặc thử thực hiện thao tác. 1777 được hiển thị xác nhận các bit rwx phổ quát cộng với các bit cố định, nhưng nó không thể xác định ai sở hữu một mục liên quan đến tranh chấp thực sự.
Chính sách bổ sung phải được điều tra riêng. Máy tính không đọc ACL, khả năng, tùy chọn gắn kết, điều khiển bắt buộc hoặc trạng thái hệ thống tệp. Việc chuyển đổi giữa tệp và thư mục sẽ thay đổi phần giải thích chứ không phải chế độ. Nếu việc đổi tên thành công hoặc thất bại ngoài dự kiến, trang không thể giải thích lý do; nó chỉ tách biệt các bit truyền thống để điều tra hệ thống cụ thể.
Công cụ mô tả giới hạn xóa chủ sở hữu hoặc gốc mà không cần kiểm tra tiện ích mở rộng chính sách
So sánh 1777 và 777 dưới dạng chế độ thư mục. Chế độ 777 hiển thị drwxrwxrwx và cho phép mọi lớp liệt kê, tạo, nhập, đổi tên và xóa. Công cụ cảnh báo người dùng có thể xóa các mục mà họ không sở hữu. Việc kích hoạt dính sẽ tạo ra drwxrwxrwt: các cấp rwx vẫn cố định, trong khi hạn chế xóa chủ sở hữu hoặc gốc sẽ đưa vào phần giải thích.
Các bài tập được tạo sẽ hiển thị cùng một sự khác biệt một bit. Chế độ 777 trở thành u=rwx,g=rwx,o=rwx, trong khi 1777 thêm +t; bản xem trước bát phân cũng giữ lại chữ số đứng đầu. Cả bản xem trước đều không mở đường dẫn hoặc thực thi chmod. Việc so sánh chứng minh rằng chỉ 1000 thay đổi và giải thích dạng t của nó nhưng quyền sở hữu và thực thi vẫn yêu cầu kiểm tra bên ngoài.
Ví dụ hoạt động: so sánh các giải thích 1777 và 777 trong máy tính
Lịch sử Setgid không được hỗ trợ bởi các tài liệu này. Kho lưu trữ có thể mã hóa setgid dưới dạng 2000, hiển thị s hoặc S ở vị trí thực thi nhóm và giải thích tính kế thừa của nhóm thư mục. Những chi tiết triển khai đó không ghi lại nguồn gốc của setgid hoặc kết nối sự phát triển của nó với sự cố định. Số học cho một bit đặc biệt không phải là bằng chứng lịch sử về một bit khác.
Chính sách thư mục được bảo vệ cũng nằm ngoài bộ nguồn. Trang này không ghi cài đặt fs.protected, cấu hình hệ thống, ACL, bản ghi quyền sở hữu hoặc nỗ lực vận hành. Nó có thể xác nhận rằng chế độ được cung cấp có chứa chất dính và hiển thị các khoản cấp cơ sở của nó, nhưng nó không thể xác nhận rằng chất dính là hạn chế duy nhất của máy. Chẩn đoán rộng hơn cần bằng chứng từ môi trường đó.
Lịch sử Setgid và chính sách thư mục được bảo vệ vẫn nằm ngoài bộ nguồn
Sự khác biệt thực tế phù hợp với một nhân vật. Đối với các thư mục, t ghi cố định với lệnh thực thi khác, trong khi T ghi cố định mà không có bit thực thi đó. Máy tính giữ nguyên cả hai biểu mẫu và giữ 1000 hiển thị trong bản tóm tắt của nó. Nguồn của nó cũng đề cập đến một gợi ý về tệp thông thường trước đây, nhưng cung cấp quá ít bằng chứng chính để hỗ trợ niên đại lịch sử phổ quát.
Sử dụng trang này để giải quyết vấn đề đại diện trước khi tranh luận về chính sách. Nhập một chế độ, chọn tệp hoặc thư mục và so sánh bát phân, ký hiệu, ma trận, tóm tắt và bài tập. Thỏa thuận xác nhận chuyển đổi 12 bit nhất quán. Dừng ở đó trừ khi hệ thống đích cung cấp thêm bằng chứng: công cụ không xác định người dùng, không đọc đường dẫn, không thực thi lệnh và không kiểm tra phần mở rộng chính sách nào.