Whowatch Linux là một tiện ích dòng lệnh mã nguồn mở được sử dụng để giám sát hoạt động của người dùng và các tiến trình đang chạy theo thời gian thực. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách cài đặt và sử dụng whowatch trên các hệ thống Linux, giúp bạn dễ dàng theo dõi hoạt động của người dùng và các tiến trình liên quan một cách hiệu quả.
Những điểm chính
- Định nghĩa whowatch Linux: Hiểu rõ
whowatchlà công cụ dòng lệnh để giám sát người dùng và các tiến trình đang chạy theo thời gian thực. - Cách cài đặt: Nắm vững các lệnh cài đặt
whowatchnhanh chóng trên các bản phân phối Linux phổ biến như Ubuntu, CentOS và Fedora. - Cách sử dụng: Thành thạo các thao tác cơ bản trong
whowatch, từ việc xem danh sách người dùng đến kiểm tra cây tiến trình và thông tin hệ thống. - Các phím tắt và thao tác: Có được bảng tra cứu các phím tắt quan trọng để điều hướng và thực hiện các hành động như kết thúc tiến trình một cách hiệu quả.
- Ứng dụng thực tế: Biết được các kịch bản ứng dụng
whowatchtrong công việc hàng ngày của quản trị viên, từ giám sát bảo mật đến xử lý sự cố. - Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề nâng cao như cách phát hiện tiến trình bất thường, xử lý sau khi phát hiện và các lưu ý khi sử dụng trong môi trường container.
whowatch Linux là gì?
whowatch trong Linux là một tiện ích dòng lệnh tương tác, mã nguồn mở, dùng để giám sát người dùng và các tiến trình đang chạy trên hệ thống Linux theo thời gian thực. Công cụ này cung cấp thông tin tổng quan về phiên đăng nhập, các lệnh đang thực thi và chi tiết về kết nối của từng người dùng. Ngoài ra, whowatch còn cho phép quản trị viên quan sát cây tiến trình riêng biệt của mỗi người dùng cũng như gửi tín hiệu để dừng hoặc kết thúc tiến trình một cách trực tiếp.

Khi thực thi, whowatch sẽ hiển thị các thông tin hữu ích như:
- Tổng số người dùng: Hệ thống sẽ đếm và hiển thị những người dùng đang đăng nhập.
- Phân loại kết nối: Công cụ cho biết số lượng người dùng theo từng phương thức kết nối (Local, Telnet, SSH,…).
- Thông tin hệ thống: Giao diện hiển thị thời gian hoạt động của máy chủ.
- Chi tiết người dùng: Bạn có thể xem tên đăng nhập, thiết bị đầu cuối, địa chỉ host, các tiến trình đang chạy và loại kết nối của từng cá nhân.
Điểm nổi bật nhất là người quản trị có thể chọn một người dùng cụ thể để xem chi tiết cây tiến trình của họ và trực tiếp gửi các tín hiệu điều khiển (SIGINT, SIGKILL) để xử lý sự cố.
Cách cài đặt whowatch trên Linux
Phần mềm whowatch có sẵn trong kho lưu trữ mặc định của hầu hết các bản phân phối Linux. Bạn có thể cài đặt công cụ này bằng các lệnh tương ứng với hệ điều hành đang dùng:
Cài đặt trên Debian/Ubuntu:
sudo apt update
sudo apt install whowatch
Cài đặt trên CentOS/RHEL:
sudo yum install whowatch
Lưu ý
Trên các phiên bản CentOS/RHEL gần đây hoặc nếu yum không hoạt động, bạn có thể cần sử dụng dnf.
Cài đặt trên Fedora:
sudo dnf install whowatchCài đặt trên Arch Linux:
sudo pacman -S whowatchCách sử dụng whowatch để giám sát hệ thống
Khởi chạy whowatch
Sau khi cài đặt thành công, bạn gõ whowatch vào terminal để khởi động chương trình:
whowatch
Khi khởi động, whowatch sẽ hiển thị một màn hình danh sách chi tiết. Trong đó, hệ thống sẽ cung cấp các thông tin bao gồm: Tên người dùng, cổng kết nối (TTY), địa chỉ IP đăng nhập, loại kết nối, lệnh đang chạy. Phía trên màn hình sẽ hiển thị tổng số người dùng và thời gian uptime của hệ thống.

Xem thông tin chi tiết của người dùng
Để xem thông tin chi tiết hơn về một người dùng cụ thể, bạn thực hiện như sau:
- Đầu tiên, bạn sử dụng các phím mũi tên lên (↑) và xuống (↓) để điều hướng và tô sáng tên người dùng mà bạn muốn kiểm tra.
- Sau đó, bạn nhấn phím
dtrên bàn phím.
whowatch sẽ hiển thị một màn hình mới với các thông tin chi tiết về người dùng đó, bao gồm cả địa chỉ IP từ nơi họ kết nối.
Xem cây tiến trình của người dùng
Để xem cây tiến trình của một người dùng cụ thể, bạn thao tác như sau:
- Đầu tiên, bạn tô sáng tên người dùng bằng các phím mũi tên.
- Sau đó, bạn nhấn phím Enter.

Hệ thống sẽ hiển thị cây tiến trình của người dùng đó. Tại đây, bạn có thể chọn một tiến trình và nhấn k để buộc dừng (SIGKILL) hoặc i để ngắt (SIGINT).
Xem toàn bộ cây tiến trình của hệ thống
Để xem cây tiến trình của tất cả người dùng và các tiến trình hệ thống, bạn có thể nhấn phím t từ giao diện chính của whowatch. Giao diện lúc này sẽ cung cấp một cái nhìn toàn diện về cấu trúc tiến trình trên hệ thống.

Xem thông tin hệ thống
Để hiển thị thông tin tổng quan về hệ thống Linux của bạn như tên máy chủ, phiên bản kernel, kiến trúc,…, bạn nhấn phím s từ giao diện chính.

Bảng tổng hợp các phím tắt quan trọng khi dùng lệnh whowatch Linux
Dưới đây là một số phím tắt hữu ích trong whowatch:
| Phím tắt | Chức năng | Chế độ áp dụng |
|---|---|---|
| ↑/↓ | Di chuyển giữa các người dùng/tiến trình | Mọi chế độ |
| d | Hiển thị thông tin chi tiết của người dùng được chọn | Màn hình chính |
| Enter | Mở chế độ xem cây tiến trình của người dùng đang được chọn. | Màn hình chính, để vào chế độ cây tiến trình |
| t | Hiển thị toàn bộ cây tiến trình của hệ thống | Màn hình chính |
| s | Hiển thị thông tin hệ thống tổng quan | Màn hình chính |
| k | Gửi tín hiệu SIGKILL cho tiến trình được chọn | Cây tiến trình |
| i | Gửi tín hiệu SIGINT (Ctrl+C) cho tiến trình được chọn | Cây tiến trình |
| q | Thoát khỏi whowatch | Mọi chế độ |
| h hoặc ? | Hiển thị màn hình trợ giúp/phím tắt | Mọi chế độ |
Để biết thêm thông tin chi tiết và các tùy chọn khác, bạn có thể gõ lệnh sau:
man whowatchỨng dụng thực tế của whowatch
Lệnh whowatch là giải pháp giám sát hữu ích dành cho:
- Quản trị viên hệ thống (SysAdmin): Giám sát thời gian thực danh sách người dùng đang đăng nhập và theo dõi cây tiến trình của họ để quản lý tài nguyên hiệu quả.
- Giám sát bảo mật: Phát hiện nhanh chóng các kết nối SSH lạ, các phiên đăng nhập trái phép hoặc hành vi chạy lệnh bất thường trong hệ thống.
- Gỡ lỗi và xử lý sự cố: Xác định ngay lập tức các tiến trình bị treo hoặc đang chiếm dụng tài nguyên CPU cao và cho phép gửi tín hiệu để tắt tiến trình ngay trên giao diện.
- Hỗ trợ người dùng: Quan sát trực tiếp các lệnh mà người dùng đang thực thi để chẩn đoán lỗi và đưa ra hướng dẫn xử lý chính xác nhất.

Câu hỏi thường gặp
Làm thế nào để phát hiện các tiến trình hoặc kết nối bất thường?
Bạn kết hợp whowatch với lệnh netstat hoặc lsof để kiểm tra các tiến trình chạy ngầm có kết nối mạng không rõ nguồn gốc.
Khi gặp tiến trình lạ, ngoài việc gửi SIGKILL từ whowatch thì nên xử lý gì tiếp theo?
Bạn nên:
– Kiểm tra log hệ thống (/var/log/auth.log, /var/log/secure) để xác định nguồn gốc tiến trình.
– Dùng thêm lệnh ps, lsof, netstat để phân tích tiến trình.
– Quét mã độc nếu nghi ngờ.
– Đổi mật khẩu user bị ảnh hưởng và cập nhật hệ thống nếu cần.
Mục tiêu là xác định, cô lập và ngăn chặn các nguy cơ tiềm ẩn an toàn cho hệ thống.
Làm thế nào để whowatch khởi động giám sát tự động sau mỗi lần boot?
Bạn có thể thêm whowatch vào script khởi động hoặc cấu hình với systemd service chạy ở chế độ nền.
Các lỗi phổ biến của whowatch khi giám sát trong container/docker là gì?
Các lỗi phổ biến khi giám sát trong container/docker là:
– Tiến trình không hiển thị đầy đủ hoặc chính xác.
– Không thể quan sát toàn bộ session và cây tiến trình.
– Giới hạn về quyền truy cập.
– Giao diện và thông tin mạng lẫn lộn.
whowatch là một tiện ích dòng lệnh đơn giản, dễ sử dụng và hiệu quả để giám sát người dùng và các tiến trình trên hệ thống Linux theo thời gian thực. Với giao diện tương tác và các tùy chọn xem chi tiết, whowatch cung cấp một cái nhìn tổng quan nhanh chóng và trực quan hơn nhiều so với các lệnh truyền thống. Chúc bạn cài đặt và sử dụng whowatch thành công, mời bạn tham khảo thêm các bài viết về chủ đề Linux ngay bên dưới đây:




