Đang tải bài học…
Nội dung sẽ hiển thị khi tải xong.
Nội dung sẽ hiển thị khi tải xong.
Tự thiết kế giải pháp theo yêu cầu, rồi kiểm tra từng tiêu chí.
Đội vận hành cần một trang trạng thái nội bộ đơn giản trên server lab. Bài này là challenge: chỉ có yêu cầu và tiêu chí nghiệm thu, không có lệnh mẫu. Bạn tự thiết kế giải pháp bằng những gì đã học ở Module 01. Hoàn thành checkpoint cùng ba bài Break/Fix là mốc "làm được" của Module 01.
kdc-status, không đăng nhập được./srv/kdc-status, thư mục thuộc kdc-status, quyền 750. Trang phải chứa chuỗi KDC-STATUS.kdc-status.service phục vụ thư mục trên ở port 9090, nghe trên mọi interface để máy khác truy cập được. Tự restart khi tiến trình lỗi, tự chạy khi boot.9090/tcp, giữ nguyên sau khi reload firewall và sau reboot. Không được mất SSH.kdc-status-snapshot.timer chạy mỗi 10 phút, chạy bù khi máy tắt đúng giờ. Mỗi lần chạy ghi đè /var/lib/kdc-status/snapshot.txt gồm thời điểm chạy, trạng thái kdc-status.service và dung lượng còn trống của /. Thư mục /var/lib/kdc-status không cho người ngoài đọc.Các lệnh sau dùng để quan sát, giúp bạn tự đánh giá giải pháp; bạn vẫn tự viết lệnh tạo user, service, timer và firewall từ các bài trước.
| Lệnh / thành phần | Ý nghĩa và cách đọc |
|---|---|
getent passwd <user> | Xem bản ghi tài khoản; trường cuối cần là shell nologin. |
stat -c '%U %a' <thư-mục> | -c chọn định dạng; %U in owner, %a in quyền dạng số. Kết quả mong đợi trong bài là kdc-status 750. |
750 | Owner đọc/ghi/truy cập (7), group đọc/truy cập (5), other không có quyền (0). |
curl -s <URL> | Gửi request và in nội dung trang, ẩn progress/lỗi; thêm -S hoặc bỏ -s nếu cần thấy lỗi. Chạy trên laptop để kiểm tra truy cập qua mạng/firewall. |
firewall-cmd --query-port=9090/tcp | Hỏi runtime có rule cho phép port/giao thức này không; thêm --permanent để hỏi cấu hình đã lưu. Rule được phép cần in yes. |
systemctl list-timers <timer> | Xem lịch timer, đặc biệt cột NEXT và lần chạy gần nhất. |
systemctl reboot | Khởi động lại VM; phiên SSH và agent đang chạy sẽ ngắt, cần đăng nhập và chạy lại agent/tunnel. Thường cần sudo. |
Các <...> trong mẫu là giá trị cần thay, không gõ nguyên dấu ngoặc. Xem lại bài quyền, service, timer và firewall nếu cần nhớ cách cấu hình.
| # | Kiểm chứng được bằng |
|---|---|
| 1 | getent passwd kdc-status cho shell nologin |
| 2 | stat -c '%U %a' /srv/kdc-status → kdc-status 750 |
| 3 | curl -s http://<ip-của-vm>:9090/ từ máy của bạn trả trang chứa KDC-STATUS |
| 4 | firewall-cmd --query-port=9090/tcp và firewall-cmd --permanent --query-port=9090/tcp đều yes |
| 5 | systemctl list-timers kdc-status-snapshot.timer có lần chạy kế tiếp; snapshot.txt cập nhật sau mỗi lần chạy |
| 6 | Tất cả vẫn đúng sau systemctl reboot |
Agent kiểm tra từ bên trong VM. Tiêu chí 3 từ máy của bạn chỉ để bạn tự xác nhận firewall hoạt động thật.
ssh có trong zone mặc định để không tự khóa mình.apt install firewalld, tắt ufw trước).systemd-analyze verify <unit>, systemd-analyze calendar, firewall-cmd --list-all, ss -ltnp, journalctl -u <unit> -b.firewall-cmd --add-port chỉ đổi runtime; xem --permanent và --runtime-to-permanent. Với snapshot, xem lại StateDirectory= ở bài timer.Reboot VM, đăng nhập lại, bật lại tunnel và agent, rồi tự chạy lại toàn bộ bảng tiêu chí nghiệm thu. Sau đó chọn server và bấm Kiểm tra kết quả.
Gỡ port khỏi firewall (runtime và permanent), disable và xóa service, timer, user, các thư mục /srv/kdc-status và /var/lib/kdc-status, rồi daemon-reload. Tự viết các lệnh này, đó là một phần của bài.