Sử dụng getent
để liệt kê các thư mục nhà.
getent passwd |
cut -d : -f 6 |
sed 's:$:/.bash_history:' |
xargs -d '\n' grep -s -H -e "$pattern"
Nếu thư mục nhà của bạn ở một vị trí nổi tiếng, nó có thể đơn giản như
grep -e "$pattern" /home/*/.bash_history
Tất nhiên, nếu người dùng sử dụng vỏ khác hoặc giá trị khác HISTFILE
, điều này sẽ không cho bạn biết nhiều. Điều này cũng sẽ không cho bạn biết về các lệnh không được thực thi thông qua trình bao, hoặc về bí danh và hàm và các lệnh bên ngoài đã bị xóa trong thư mục người dùng sớm trong người dùng $PATH
. Nếu những gì bạn muốn biết là những lệnh nào người dùng đã chạy, bạn cần xử lý kế toán hoặc một số hệ thống kiểm toán fancier; xem Hoạt động giám sát trên máy tính của tôi. , Làm thế nào để kiểm tra một quá trình chạy sau bao lâu? .