Đây không phải là cách bạn tiếp cận vấn đề. Khi bạn cấp quyền truy cập shell cho người dùng, bạn sẽ ủy thác cho người dùng đó làm bất cứ điều gì anh ta / cô ta có quyền thích hợp. Quên ghi nhật ký lệnh, có quá nhiều cách để thực thi lệnh trong bất kỳ hệ thống Unix nào.
Ví dụ: người dùng có thể bắt đầu ứng dụng thư khách ( pine
ví dụ: lệnh duy nhất được ghi là ), trong đó anh ta chọn "Soạn" bắt đầu VI và từ VI, anh ta khởi chạy bất kỳ lệnh nào anh ta muốn thông qua :!cmd
. Lệnh này không được ghi lại ở bất cứ đâu và theo quan điểm của hệ thống, nó giống như bất kỳ ứng dụng trợ giúp nào được gọi bởi VI, như grep hoặc sort. Lệnh duy nhất được ghi bởi shell là pine
.
Có vẻ như những gì bạn thực sự muốn được gọi là kiểm toán . Kích hoạt hệ thống con kiểm toán và sử dụng auditctl
lệnh và auditd
trình nền từ gói kiểm toán để kiểm soát những gì được ghi lại. Thông tin chi tiết có trong trang hướng dẫn Audctl (8) .
Lưu ý rằng đăng nhập mỗi quá trình khởi tạo nó cũng có thể không tối ưu. Ví dụ, đơn giản ./configure
cho gói phần mềm (được tạo bằng autotools) là đáng chú ý để tạo hàng ngàn quy trình tức thời. Điều này sẽ tràn ngập nhật ký kiểm toán với rất nhiều tiếng ồn đến nỗi nó trở nên rất khó để phân tích nó sau này.