Công cụ dành cho nhà phát triển · Máy tính Chmod
Giải thích về các chế độ chmod phổ biến: 644, 755, 600, 700, 2775 và 1777
· Lý lịch
chmod unix access-control
Một số chế độ bao gồm hầu hết mọi tệp bạn từng đặt. Bài đăng này giải thích ý nghĩa rwx của mỗi người, quy ước đằng sau nó và tình huống mà đó là lựa chọn đúng đắn.
Sáu số giống nhau ở mọi nơi — hướng dẫn nói 644 hoặc 755 mà không bao giờ giải thích lựa chọn
Các số chmod quen thuộc trở nên hữu ích khi các bit của chúng hiển thị. Danh sách đặt trước bao gồm 644, 600, 755, 700, 775, 1777, 4755 và 2775, mỗi danh sách có một nhãn ngắn. Việc chọn một sẽ điều khiển trình kết xuất tiêu chuẩn, cập nhật đầu ra ký hiệu, ma trận quyền, tóm tắt bốn chữ số, giải thích và xem trước lệnh từ một giá trị có thể kiểm tra.
Giá trị đặt trước không phải là một quyết định về chính sách. Trang này không biết quyền sở hữu mục tiêu cũng như nhóm xử lý, mục nhập ACL, quyền truy cập thư mục mẹ hoặc hành vi hệ thống tệp. Điều 501 cung cấp kỷ luật tốt hơn: bắt đầu bằng danh tính và hành động thất bại. Giá trị đặt trước cung cấp giá trị bắt đầu có thể tái tạo, nhưng đối tượng và môi trường thực tế sẽ xác định xem chế độ đó có phù hợp hay không.
644 và 755: giá trị mặc định — rw-r--r-- cho dữ liệu, rwxr-xr-x cho thư mục và chương trình và tại sao umask 022 lại tạo ra chính xác những giá trị này
Danh sách được gửi hiển thị 644 cho tệp thông thường và 755 cho chương trình hoặc thư mục, không phải dưới dạng mặc định chung. Chế độ 644 là rw-r--r--: chủ sở hữu đọc và ghi, trong khi nhóm và người khác đọc. Chế độ 755 là rwxr-xr-x: chủ sở hữu có rwx, trong khi nhóm và người khác nhận được đọc và thực thi. Cả hai đều tuân theo số học 4-2-1.
Loại mục tiêu giải thích tại sao một số thiếu ý nghĩa hoạt động hoàn chỉnh. Trên các tệp, thực thi có nghĩa là chạy một chương trình; trên các thư mục, nó có nghĩa là nhập và tiếp cận các mục được đặt tên. Chế độ này vẫn 755 trong khi văn xuôi thay đổi. Không có nguồn được cung cấp nào tính toán ô hoặc dự đoán các chế độ mới được tạo, do đó, các giá trị này sẽ vẫn được mô tả dưới dạng giá trị đặt trước được gửi thay vì mặc định không thể tránh khỏi.
644 và 755 là giá trị đặt trước được cung cấp, không phải giá trị mặc định chung
Danh sách có nhãn 600 tệp riêng tư và 700 thư mục riêng tư. Chế độ 600 hiển thị rw-------, chỉ cho phép chủ sở hữu đọc và ghi; ví dụ của nó là khóa riêng SSH. Chế độ 700 hiển thị rwx------, chỉ cấp cho chủ sở hữu tất cả các quyền thông thường. Trên các thư mục, nhóm vắng mặt và các bit khác sẽ ngăn các lớp đó liệt kê hoặc nhập vào.
Riêng tư mô tả các bit chỉ dành cho chủ sở hữu, bảo mật không được xác minh. Máy tính không bao giờ kiểm tra quyền sở hữu, thư mục mẹ, ACL, quy tắc gắn kết, chính sách bắt buộc hoặc yêu cầu ứng dụng. Xác nhận trong ma trận rằng nhóm và các hộp khác đều rõ ràng, sau đó kiểm tra môi trường riêng biệt. Bản xem trước chmod được trích dẫn chỉ là văn bản trình duyệt và không thực thi theo đường dẫn được hiển thị.
600 và 700 được gắn nhãn riêng tư theo danh sách đặt trước
Hai cài đặt trước chia sẻ nhóm địa chỉ. Chế độ 775 hiển thị rwxrwxr-x, cấp rwx cho chủ sở hữu và nhóm trong khi những người khác nhận được quyền đọc và thực thi. Chế độ 2775 thêm setgid mà không thay đổi các bộ ba thông thường đó. Đối với các thư mục, lời giải thích cho biết các tệp mới kế thừa nhóm của thư mục. Vì nhóm thực thi vẫn được đặt, setgid xuất hiện dưới dạng chữ thường trong rwxrwsr-x.
Không cài đặt trước nào chọn chủ sở hữu hoặc nhóm. Trang này chấp nhận một chế độ và đường dẫn hiển thị nhưng không thực hiện thao tác tra cứu hoặc chọn danh tính. Ghi chú 775 của nó gợi ý ghép nối quyền truy cập nhóm có thể ghi với setgid, trong khi 2775 được gắn nhãn thư mục setgid. Sự hợp tác thực tế vẫn phụ thuộc vào tư cách thành viên nhóm và bất kỳ quy tắc bổ sung nào được hệ thống mục tiêu thực thi.
775 và 2775 chia sẻ nhóm mô hình mà không chọn quyền sở hữu
Giá trị đặt trước 1777 đại diện cho một thư mục cố định có thể ghi trên thế giới, được minh họa bằng mẫu /tmp. Các quyền thông thường của nó là rwxrwxrwx, vì vậy mọi lớp đều có thể liệt kê, sửa đổi và nhập. 1 hàng đầu cho phép cố định, thay thế x cuối cùng bằng t và thêm giải thích về việc xóa bị hạn chế. Điều này phân biệt 1777 với 777 mà không làm thay đổi cấp rwx cơ sở.
Giải thích thư mục vẫn cố tình thu hẹp. Sticky cho phép tạo đồng thời hạn chế việc xóa hoặc đổi tên thành chủ sở hữu hoặc thư mục gốc của tệp. Máy tính không xác định danh tính, không kiểm tra thư mục và không quan sát thấy thao tác nào được thực hiện, ACL hoặc chính sách lưu trữ. Hãy coi 1777 là mẫu có thể nhận dạng để giải mã chứ không phải phê duyệt tự động cho mọi vị trí được chia sẻ.
1777 được trình bày dưới dạng mẫu thư mục chia sẻ cố định
Chế độ 4755 là cài đặt trước của chương trình setuid đã được vận chuyển. Cơ sở của nó là 755 và 4 dẫn đầu sẽ kích hoạt setuid. Vì chủ sở hữu thực thi nên kết quả là rwsr-xr-x với chữ thường. Phần giải thích về tệp cho biết việc thực thi sử dụng danh tính của chủ sở hữu chứ không phải của người gọi và cả nó lẫn nhãn đặt trước đều cảnh báo rằng thay đổi đặc quyền hiếm hoi này đáng được xem xét.
Màn hình có thể hiển thị một sự kết hợp đáng ngờ mà không cần đánh giá chương trình. Nếu setuid vẫn còn trong khi quyền thực thi của chủ sở hữu bị xóa, chữ hoa S sẽ xuất hiện, như trong 4644 và phần giải thích lưu ý rằng không có gì để chạy. Các bài kiểm tra xác minh cả hai biểu mẫu và mỗi chuyến đi khứ hồi. Không xảy ra việc xem xét mã, kiểm tra quyền sở hữu, phân tích khả năng hoặc thực thi.
4755 hiển thị chương trình setuid và cảnh báo lý do để xem xét
Chế độ 777 không có trong các giá trị đặt trước đã gửi, mặc dù thư viện có thể phân tích cú pháp chế độ này. Tệp 777 sẽ kích hoạt cảnh báo vì bất kỳ tài khoản nào cũng có thể thay đổi nội dung của nó. Thư mục 777 cấp cho mọi lớp rwx và cho phép xóa các mục mà người dùng không sở hữu mà không bị dính. Không có nội dung nào trong các nguồn trình bày 777 như một biện pháp khắc phục lỗi cấp phép chung.
ACL mô hình chia sẻ và các mô hình quyền khác là riêng biệt. Trình chuyển đổi này đại diện cho một chủ sở hữu, một nhóm, mọi người khác và ba bit đặc biệt. Nó không có mục ACL được đặt tên, mặt nạ, cú pháp Windows, phát hiện nền tảng hoặc truy vấn hệ thống tệp. Chuyển đổi rwx chính xác có thể cung cấp thông tin chẩn đoán nhưng bằng chứng cụ thể cho nền tảng phải thiết lập quyền truy cập được cấp bên ngoài chế độ truyền thống.
777, ACL chia sẻ và các nền tảng khác vẫn là những câu hỏi riêng biệt
Bảng tóm tắt hữu ích là bằng chứng đằng sau những con số, không phải những giá trị kỳ diệu. Chọn bất kỳ cài đặt trước nào được vận chuyển và kiểm tra hộp chủ sở hữu, nhóm, hộp khác và hộp đặc biệt mà nó kích hoạt. So sánh dạng ký hiệu chín ký tự với dạng tóm tắt bốn chữ số. Điều đó làm lộ ra setuid, setgid và Sticky, trong khi việc lựa chọn mục tiêu giúp việc thực thi tệp khác biệt với việc truyền tải thư mục trong phần giải thích.
Chỉ áp dụng kết luận mà trang đó hỗ trợ. Giá trị đặt trước cung cấp mẫu bit chính xác và nhãn mục đích ngắn gọn, chứ không phải thông tin về quyền sở hữu, khối lượng công việc, ACL, thư mục gốc, gắn kết hoặc mối đe dọa. Bản xem trước lệnh của nó không bao giờ chạy. Theo dõi bài viết 501, hãy bắt đầu với danh tính và hành động, xác minh thông tin đại diện tại đây, sau đó xem lại hệ thống thực trước khi thay đổi bất kỳ điều gì.