Lệnh last trong Linux là công cụ dùng để xem lại lịch sử đăng nhập và đăng xuất của người dùng trên hệ thống dựa trên dữ liệu được lưu trong file wtmp. Nhờ đó, quản trị viên có thể theo dõi hoạt động truy cập, phát hiện đăng nhập bất thường và hỗ trợ kiểm tra bảo mật hệ thống hiệu quả hơn. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh last trong Linux để theo dõi lịch sử đăng nhập một cách nhanh chóng và chính xác.
Những điểm chính
- Khái niệm: Hiểu rõ lệnh last Linux là lệnh được dùng để hiển thị lịch sử đăng nhập của người dùng trên hệ thống.
- Chức năng của lệnh last: Nắm vững vai trò quan trọng trong việc truy vết người dùng, phát hiện hành vi truy cập bất thường và đảm bảo an ninh máy chủ.
- Cách sử dụng chi tiết: Thành thạo các kỹ thuật tra cứu thực tế như giới hạn số dòng hiển thị, lọc theo tên user hoặc kiểm tra thời điểm hệ thống reboot/shutdown.
- Lưu ý khi vận hành: Biết được các giới hạn về vòng đời của log và tính toàn vẹn dữ liệu để có cái nhìn chính xác nhất về lịch sử hoạt động của server.
- Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp liên quan đến lệnh last trong Linux.
Lệnh last Linux là gì?
last Linux là lệnh được dùng để hiển thị lịch sử đăng nhập của người dùng trên hệ thống. Lệnh này hoạt động bằng cách đọc thông tin từ file /var/log/wtmp và liệt kê các phiên đăng nhập gần đây với các thông tin hiển thị bao gồm: Tên người dùng, terminal (TTY), địa chỉ IP hoặc hostname, thời gian đăng nhập, thời gian đăng xuất và tổng thời gian hoạt động của phiên. Cú pháp của lệnh last như sau:
last [options]Trong đó, [options] là các tùy chọn mở rộng để giới hạn số dòng, lọc theo user, chỉ xem reboot/shutdown hoặc điều chỉnh cách hiển thị kết quả, giúp việc tra cứu linh hoạt và chính xác hơn.

Chức năng của lệnh last Linux
Lệnh last là công cụ quan trọng giúp quản trị viên Linux giám sát và đảm bảo an ninh cho hệ thống:
- Truy vết lịch sử đăng nhập: Lệnh last cung cấp khả năng theo dõi chi tiết danh tính những người đã truy cập vào hệ thống, bao gồm cả thông tin về nguồn gốc kết nối như địa chỉ IP hoặc tên máy trạm.
- Phát hiện hành vi đáng ngờ: Lệnh này đóng vai trò quan trọng trong việc nhận diện sớm các truy cập bất thường hoặc rà soát lại quá trình hoạt động của người dùng để phục vụ công tác điều tra sự cố.
- Lọc dữ liệu linh hoạt: Lệnh last hỗ trợ các tùy chọn tìm kiếm nâng cao, cho phép hiển thị kết quả dựa trên tên người dùng cụ thể, giới hạn số lượng bản ghi hiển thị hoặc khoanh vùng theo một khoảng thời gian nhất định.
- Đảm bảo an ninh hệ thống: Đây là công cụ giám sát thiết yếu giúp quản trị viên Linux duy trì sự an toàn và kiểm soát chặt chẽ mọi hoạt động ra/vào trên máy chủ.

Cách sử dụng lệnh last Linux chi tiết
1. Sử dụng cơ bản
Để hiển thị toàn bộ lịch sử đăng nhập, bạn sử dụng lệnh như sau:
lastLệnh này sẽ liệt kê tất cả các bản ghi có trong file /var/log/wtmp, được sắp xếp theo thứ tự từ gần nhất đến xa nhất.

2. Giới hạn số lượng dòng hiển thị
Nếu danh sách quá dài, bạn có thể giới hạn số lượng kết quả hiển thị bằng lệnh sau:
last -n 5Hệ thống sẽ chỉ hiển thị 5 bản ghi đăng nhập gần nhất. Tùy chọn này phù hợp khi bạn chỉ muốn kiểm tra các hoạt động mới xảy ra.

3. Lọc thông tin theo người dùng
Để xem lịch sử đăng nhập của một tài khoản cụ thể, ví dụ như user root, bạn dùng lệnh dưới đây:
last rootLệnh này sẽ lọc và chỉ hiển thị tất cả các lần đăng nhập của user root.

4. Xem lịch sử khởi động lại
Để kiểm tra xem hệ thống đã được khởi động lại vào những thời điểm nào, bạn dùng lệnh sau:
last rebootKết quả sẽ hiển thị lịch sử các lần khởi động lại của hệ thống dựa trên dữ liệu từ file /var/log/wtmp.

5. Xem lịch sử tắt máy
Tương tự như reboot, để xem danh sách các lần hệ thống tắt máy, bạn sử dụng lệnh:
last shutdownLệnh này sẽ liệt kê thời gian của các lần tắt máy (shutdown) trước đó.

Lưu ý khi sử dụng lệnh last Linux
Dưới đây là những lưu ý quan trọng khi sử dụng lệnh last để đảm bảo hiệu quả và độ chính xác:
- Lưu ý về vòng đời của Log: Lệnh last mặc định chỉ đọc thông tin từ file /var/log/wtmp. Tuy nhiên, file này thường được hệ thống tự động xoay vòng định kỳ để tránh bị quá đầy nên lệnh last thường chỉ hiển thị dữ liệu của tháng hiện tại.
- Cẩn trọng về tính toàn vẹn dữ liệu: File /var/log/wtmp là file nhị phân nhưng có thể bị chỉnh sửa hoặc xóa bỏ. Nếu một hacker chiếm được quyền root, họ hoàn toàn có thể xóa dấu vết đăng nhập của mình khỏi file này.
- Không thể đọc file nguồn bằng trình soạn thảo văn bản: Cơ sở dữ liệu của lệnh last được lưu dưới dạng binary nên không thể mở bằng các lệnh như cat, vim hay nano để xem nội dung.
- Xử lý khi danh sách quá dài: Trên các server hoạt động lâu năm, lịch sử đăng nhập có thể lên tới hàng nghìn dòng. Chạy lệnh last đơn thuần sẽ làm tràn màn hình terminal.
- Phân biệt các sự kiện đặc biệt: Ngoài việc ghi nhận người dùng đăng nhập, last còn ghi nhận cả các sự kiện hệ thống như khởi động lại hoặc tắt máy.

Câu hỏi thường gặp
Làm thế nào để xem các lần đăng nhập thất bại?
Lệnh last mặc định chỉ hiển thị các lần đăng nhập thành công. Để xem danh sách các lần đăng nhập thất bại, bạn cần sử dụng lệnh lastb. Lệnh này đọc dữ liệu từ file /var/log/btmp thay vì /var/log/wtmp.
Tại sao không thể mở file /var/log/wtmp bằng trình soạn thảo văn bản?
File /var/log/wtmp là một file nhị phân, không phải file văn bản thuần túy. Do đó, bạn không thể sử dụng các lệnh như cat, vi hay nano để đọc nó trực tiếp. Bạn bắt buộc phải sử dụng lệnh last để giải mã và hiển thị nội dung file này một cách dễ hiểu.
Tôi muốn xem lịch sử đăng nhập từ một file log cũ hơn thì làm thế nào?
Hệ thống Linux thường thực hiện xoay vòng log, đổi tên file cũ thành wtmp.1, wtmp.2,… Để đọc thông tin từ các file cũ này, bạn sử dụng tùy chọn -f. Ví dụ: last -f /var/log/wtmp.1
Qua bài viết này, hy vọng bạn đã nắm vững cách sử dụng lệnh last để theo dõi lịch sử đăng nhập trên Linux một cách chi tiết và nhanh chóng. Việc thành thạo công cụ này giúp bạn chủ động giám sát hoạt động hệ thống, phát hiện sớm các truy cập bất thường và nâng cao mức độ bảo mật cho server. Chúc bạn có được những thông tin hữu ích và hẹn gặp lại bạn trong các bài viết tiếp theo.




