Linux: file, thư mục & quyền
Hiểu rwx, owner/group/other và permission trên directory để làm việc với Linux mà không đoán mò.
- ✓ Giải thích Linux: file, thư mục & quyền bằng ngôn ngữ của chính mình
- ✓ Dùng và để tách quan sát khỏi kết luận
- ✓ Hoàn thành lab Linux: file, thư mục & quyền an toàn và nêu được /
Làm cùng nhau: giải mã quyền 600
Đọc trước khi thay đổi quyền trong filesystem giả lập.
- Bước 1: Gõ `ls -la` và tìm một file note trong thư mục lab.
Kết quả cần thấy: Mỗi dòng có chuỗi quyền, owner, group và tên file.
Vì sao: Một kết luận về access phải dựa cả quyền lẫn identity, không chỉ nhìn số mode.
Đừng nhầm: Không coi mọi file có quyền rộng là lỗ hổng; còn phải biết dữ liệu trong file có nhạy cảm hay không.
- Bước 2: Dùng `stat /access.log` sau mission để xem mode của bản copy.
Kết quả cần thấy: Mode hiển thị 0600 sau khi bài tập hoàn thành.
Vì sao: Xác minh sau thay đổi quan trọng hơn việc chỉ tin rằng lệnh đã chạy không báo lỗi.
Đừng nhầm: Đừng chạy chmod bừa trên file hệ thống thật; sai quyền có thể làm dịch vụ không hoạt động.
- Bước 3: Nói lại bằng lời: user nào được đọc file mode 600 trong ví dụ?
Kết quả cần thấy: Chỉ owner được đọc và ghi; group/other không có quyền.
Vì sao: Nói lại bằng ngôn ngữ thường giúp bạn không học thuộc số mà hiểu policy.
Đừng nhầm: Mode 600 không thay thế mã hóa hay quản lý nếu file vẫn có thể bị owner sai đọc.
Bức tranh lớn
Hiểu rwx, owner/group/other và permission trên directory để làm việc với Linux mà không đoán mò. Chủ đề này quan trọng vì Permission file kiểm soát read/write/execute; directory permission còn ảnh hưởng khả năng list, traverse và tạo/xóa entry. Numeric mode chỉ là cách biểu diễn bit quyền. Khi đi , hoặc , phần khó thường không phải nhớ tên công cụ mà là nhận ra mô hình này trong một biến thể mới. Ở Linux, context là tất cả: current user, , ownership, permission, và file descriptor. Một command chỉ có ý nghĩa khi bạn biết nó đang chạy trong context nào và thay đổi state gì. Mục tiêu của phần nền tảng là dự đoán được hệ thống sẽ làm gì trước khi chạy lệnh. Nếu output khác dự đoán, dùng khác biệt đó để cập nhật mental model. Trước khi sang phần tiếp theo, hãy tự nói lại chủ đề “Linux: file, thư mục & quyền” bằng hai câu: hệ thống đang cố làm gì, và quyết định nào có thể tạo ra rủi ro nếu sai.
Mental model & từ khóa
Permission file kiểm soát read/write/execute; directory permission còn ảnh hưởng khả năng list, traverse và tạo/xóa entry. Numeric mode chỉ là cách biểu diễn bit quyền. Các thuật ngữ trọng tâm của bài là: rwx, owner, group, chmod, umask. Hãy liên kết chúng với luồng dữ liệu và quyết định bảo mật thay vì học định nghĩa rời rạc. Các từ khóa cần nối thành một mô hình duy nhất gồm: rwx, owner, group, chmod, umask. Đừng học chúng như flashcard rời rạc. Hãy chỉ ra dữ liệu đi từ đâu tới đâu, thành phần nào giữ state, thành phần nào ra quyết định và đâu là . Khi mô hình đúng, bạn có thể dự đoán một thay đổi nhỏ sẽ làm output thay đổi thế nào. Permission file kiểm soát read/write/execute; directory permission còn ảnh hưởng khả năng list, traverse và tạo/xóa entry.
-rw------- 1 student student 128 Sep 16 notes.txt
# 600: owner đọc/ghi; group và other không có quyềnQuy trình quan sát có kiểm chứng
ls -l, stat và id cung cấp context cần thiết. Nếu permission denied, xác định user, group và từng directory trên path trước khi dùng sudo. Luôn bắt đầu bằng expected behavior rồi mới tìm deviation; như vậy bạn biết mình đang chứng minh điều gì. ls -l, stat và id cung cấp context cần thiết. Nếu permission denied, xác định user, group và từng directory trên path trước khi dùng sudo. Bắt đầu bằng expected behavior và một sạch. Sau đó chỉ thay một biến, ghi input/output, timestamp hoặc state cần thiết rồi lặp lại để loại trừ ngẫu nhiên. Nếu tool đưa ra một nhãn như “open”, “vulnerable”, “failed” hay “suspicious”, quay về field thô tạo ra nhãn đó và xác minh bằng cách thứ hai. Đây là thói quen giúp tránh và cũng giúp report tái hiện được.
Case lab: từ dữ kiện tới kết luận
Dùng terminal mô phỏng đọc ls -la, giải thích 0640 và 0750, rồi chọn mode phù hợp cho file config chứa giả. Đây là tình huống tổng hợp trong lab của khóa học, không dùng target thật. Bài thực hành trọng tâm là: Dùng terminal mô phỏng đọc ls -la, giải thích 0640 và 0750, rồi chọn mode phù hợp cho file config chứa giả. Khi làm, chia note thành bốn cột: FACT (thấy trực tiếp), HYPOTHESIS (giả thuyết), TEST (thay đổi nào sẽ phân biệt các giả thuyết) và RESULT (kết quả). Sau khi có đáp án, tạo ít nhất hai biến thể: đổi identity/context và đổi input/state. Nếu kết luận vẫn đứng vững qua các biến thể, bạn mới có confidence cao hơn.
Bẫy tư duy & cách tự debug
Lỗi hay gặp là nhìn thấy một tín hiệu rồi gắn ngay nhãn vulnerability hoặc dùng công cụ trước khi hiểu hệ thống. Với chủ đề này, hãy nhớ: Permission Linux phải được đọc cùng owner, group và loại object. Với bài này, mệnh đề phải giữ là: Permission Linux phải được đọc cùng owner, group và loại object. Nếu bị kẹt, đừng tăng số lượng command/payload một cách mù quáng. Quay lại , thu hẹp câu hỏi, kiểm tra assumptions và đọc error/output theo từng lớp. Trong lab hoặc , đặt rồi đổi hướng khi không có mới; trong /, luôn kiểm tra trước khi mở rộng bề mặt thử nghiệm.
Phòng thủ, & tiêu chí qua bài
Áp , tránh 777, tách owner/ account và bảo vệ bằng permission tối thiểu. Khi review fix, kiểm tra cả positive case, negative case và một biến thể gần kề để tránh vá đúng một chuỗi kiểm thử. Một tốt phải chỉ ra root cause, control đặt ở đúng và cách . Hãy kiểm tra positive case hợp lệ, negative case bị từ chối và ít nhất một biến thể gần kề để tránh “vá đúng payload”. Bạn có thể coi mình qua bài khi: (1) giải thích Linux: file, thư mục & quyền không nhìn tài liệu; (2) dự đoán được một output mới; (3) hoàn thành lab bằng ; (4) nêu được cách phòng thủ; và (5) phân biệt được observation với conclusion.
Bài tập
Dùng terminal mô phỏng đọc ls -la, giải thích 0640 và 0750, rồi chọn mode phù hợp cho file config chứa giả. Deliverable: ghi trạng thái ban đầu, dự đoán kết quả trước khi thao tác, chụp lại output quan trọng và giải thích chênh lệch giữa dự đoán với thực tế. Làm lại một biến thể nhỏ để chứng minh bạn hiểu mô hình chứ không chỉ nhớ đúng một ví dụ.
WhiteHat Safe Terminal v2 · MEMORY-ONLY SIMULATOR · gõ help để bắt đầu.
5 câu kiểm tra
Không trừ điểm. Mục tiêu là giải thích được lý do, không phải đoán đúng.
Phát biểu nào đúng nhất về Linux: file, thư mục & quyền?
Trong một lab về “Linux: file, thư mục & quyền”, nào phù hợp nhất để bắt đầu kiểm chứng?
Control/ nào bám sát chủ đề “Linux: file, thư mục & quyền” nhất?
Mental model nào nên giữ khi gặp một biến thể mới của “Linux: file, thư mục & quyền”?
Nếu bài “Linux: file, thư mục & quyền” cần thao tác có tính offensive, môi trường nào phù hợp?
Đánh dấu hoàn thành
Cần đạt ít nhất 80% quiz trước khi chốt bài.