Máy tính Chmod
| Lớp | Đọc (r) | Ghi (w) | Thực thi (x) |
|---|---|---|---|
| Chủ sở hữu | |||
| Nhóm | |||
| Khác |
Quyền của tệp Unix gồm ba bộ ba, đọc, ghi, thực thi cho chủ sở hữu, nhóm và những người khác, được rút gọn gọn gàng thành một số bát phân ba chữ số. chmod 755 script.sh chính là rwxr-xr-x: chủ sở hữu có toàn quyền, còn nhóm và những người khác có quyền đọc và thực thi. Máy tính này cho phép bạn bật/tắt từng hộp kiểm và xem giá trị bát phân thay đổi trực tiếp, hoặc dán một số bát phân để xem cách phân tích thành rwx, kèm theo lệnh chmod chính xác sẵn sàng để sao chép.
Quyền chmod hoạt động như thế nào
-
1
Chuyển đổi 9 bit quyền
Ba nhóm (người dùng, nhóm, người khác) × ba quyền (đọc, viết, thực thi) = 9 hộp kiểm.
-
2
Mỗi nhóm trở thành một chữ số bát phân
Đọc = 4, viết = 2, thực thi = 1. Tính tổng các bit bạn muốn kích hoạt.
-
3
Đọc kết quả dạng bát phân và ký hiệu
ví dụ 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.
-
4
Sao chép lệnh chmod
Công cụ hiển thị lệnh chmod cho quyền hiện tại, sẵn sàng để sao chép. Ví dụ: chmod 755 tên_tệp, chmod u+x tên_tệp, chmod -R 755 thư_mục.
Giá trị bit quyền
| Bit | Giá trị | Ý nghĩa với tập tin | Ý nghĩa với thư mục |
|---|---|---|---|
| Đọc | 4 | Có thể xem nội dung | Có thể liệt kê các mục |
| Ghi | 2 | Có thể sửa đổi | Có thể tạo/xóa/đổi tên mục |
| Thực thi | 1 | Có thể chạy như một chương trình | Có thể duyệt qua (cd vào, truy cập bên trong) |
Giá trị chmod phổ biến
| Bát phân | Tượng trưng | Sử dụng điển hình |
|---|---|---|
| 777 | rwxrwxrwx | Mọi người đều ghi được, nguy hiểm; hiếm khi đúng |
| 755 | rwxr-xr-x | Tập lệnh, nhị phân, thư mục |
| 750 | rwxr-x--- | Tập lệnh riêng tư cho bạn và nhóm của bạn |
| 700 | rwx------ | Tập lệnh riêng tư cho bạn (SSH, ~/.ssh) |
| 644 | rw-r--r-- | Tài liệu công cộng, hình ảnh, HTML |
| 640 | rw-r----- | Cấu hình nhóm có thể đọc |
| 600 | rw------- | Cấu hình riêng tư, khóa riêng SSH, ~/.netrc |
| 444 | r--r--r-- | Tệp được xuất bản chỉ đọc |
| 400 | r-------- | Chỉ đọc riêng tư (hiếm khi đúng; sử dụng 600) |
Quyền đặc biệt (hiếm nhưng quan trọng)
- setuid (4xxx): chạy file với tư cách là chủ sở hữu của nó, bất kể ai thực thi.
/usr/bin/passwdsử dụng cái này. - setgid (2xxx): trên file, chạy theo nhóm. Trên các thư mục, các tệp mới kế thừa nhóm của thư mục.
- sticky bit (1xxx): trên thư mục, chỉ chủ sở hữu tập tin mới có thể xóa/đổi tên.
/tmpsử dụng cái này.
Các bát phân có bốn chữ số bao gồm: chmod 4755 setuid-binary bật setuid cùng với 755.
chmod tượng trưng
Nhiều quản trị viên thích hình thức tượng trưng cho những thay đổi gia tăng:
chmod u+x script, thêm quyền thực thi chỉ dành cho chủ sở hữu.chmod go-w file, xóa ghi cho nhóm và nhóm khác.chmod a+r file, đọc cho tất cả (người dùng, nhóm, người khác).chmod u=rw,go=r file, đặt chính xác các bit này.chmod -R 755 directory, đệ quy.
Những lỗi thường gặp
- 777 trên các thư mục tải lên: dường như “sửa quyền”; thực sự mở máy chủ cho những kẻ tấn công. Sử dụng kết hợp hẹp hơn (ví dụ: 755 với quyền sở hữu nhóm chính xác).
- chmod -R 644 trên các thư mục: loại bỏ lệnh thực thi trên các thư mục nên bạn không thể
cdvào chúng. Sử dụng 755 cho thư mục, 644 cho các tệp thông thường. - 0600 so với 600: số 0 đứng đầu biểu thị số bát phân trong C và shell; hầu hết việc triển khai chmod đều chấp nhận cả hai.
- Umask: các tệp mới kế thừa 666 trừ đi ô. Umask 022 mặc định cung cấp 644 tệp và 755 thư mục.
Câu hỏi thường gặp
Bạn thường muốn chủ sở hữu có thể sửa đổi và những người khác có thể liệt kê và duyệt qua. 755 = rwx cho chủ sở hữu, r-x cho nhóm và người khác - chính xác là sự kết hợp đó.
Hầu như không bao giờ. 777 cho phép bất kỳ ai trên hệ thống sửa đổi tệp. Trong hệ thống nhiều người dùng, đó là lỗ hổng bảo mật; trong hệ thống một người dùng, điều đó là không cần thiết (chủ sở hữu đã có rwx với 755). Nếu một ứng dụng web có vẻ cần 777 thì cách khắc phục thực sự là quyền sở hữu chính xác (chown) hoặc tư cách thành viên nhóm.
Thư mục ~/.ssh: 700. Khóa riêng (id_rsa, id_ed25519): 600. Khóa công khai (.pub): 644. authorized_keys: 600. SSH từ chối các khóa có quyền rộng hơn như một biện pháp an toàn.
chown dành cho chủ sở hữu, chgrp dành cho nhóm - các lệnh riêng biệt. chmod chỉ thay đổi bit chứ không phải người dùng/nhóm sở hữu tệp.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bộ chuyển đổi Base64 sang Hex
Chuyển chuỗi Base64 chuẩn thành các byte nền tảng được viết dưới dạng hexadecimal liên tục in hoa. Giải mã nghiêm ngặt, lý tưởng cho token, khóa và chữ ký JWT.
Trình tạo bảng màu ngẫu nhiên
Tạo bảng màu ngẫu nhiên từ 2 đến 15 mẫu màu, chọn phong cách rực rỡ, pastel, dịu hoặc tối, rồi sao chép mã HEX hoặc biến CSS.
Trình tạo bảng màu
Tạo bảng màu đơn sắc, tương đồng, bổ túc, bộ ba hoặc bộ bốn từ màu HEX gốc và xuất các biến CSS sẵn sàng sao chép.
Bộ chọn màu HEX
Chọn hoặc nhập màu HEX để xem RGB, HSL, CMYK ước tính, độ chói tương đối và tương phản với trắng và đen.