Chính sách của công ty là quản trị viên đăng nhập vào máy chủ thông qua tên người dùng cá nhân và sau đó chạy sudo -i
để trở thành root. Khi chạy sudo -i
, sudo sẽ tạo một biến môi trường được gọi SUDO_USER
, chứa tên người dùng ban đầu.
Có cách nào để ghi nhật ký TẤT CẢ các lệnh trong syslog với một cái gì đó giống với cú pháp sau:
${TIME/DATE STAMP}: [${REAL_USER}|${SUDO_USER}]: ${CMD}
Một mục ví dụ sẽ là:
Sat Jan 19 22:28:46 CST 2013: [root|ksoviero]: yum install random-pkg
Rõ ràng là nó không phải chính xác cú pháp trên, nó chỉ phải bao gồm tối thiểu người dùng thực (ví dụ: root), người dùng sudo (ví dụ: ksoviero) và lệnh đầy đủ đã được chạy (ví dụ: yum cài đặt ngẫu nhiên-pkg).
Tôi đã thử snoopy
, nhưng nó không bao gồm SUDO_USER
biến.
auditd
và trong khi tôi nhận được nó để ghi nhật ký tất cả các lệnh đang chạy, thì nó không bao gồm SUDO_USER
biến (hoặc thông tin tương đương) và tôi không thể tìm cách đưa nó vào. Mọi sự trợ giúp sẽ rất được trân trọng!
auditd
.