Використовуйте getent
для перерахування домашніх каталогів.
getent passwd |
cut -d : -f 6 |
sed 's:$:/.bash_history:' |
xargs -d '\n' grep -s -H -e "$pattern"
Якщо ваші домашні каталоги знаходяться у відомому місці, це може бути так само просто
grep -e "$pattern" /home/*/.bash_history
Звичайно, якщо користувач використовує іншу оболонку або інше значення HISTFILE
, це не дасть вам великого значення. Це також не розповість вам про команди, які не виконувалися через оболонку, або про псевдоніми та функції та видалені тепер зовнішні команди, які були в деякому каталозі користувачів на початку користувача $PATH
. Якщо ви хочете дізнатися, які команди виконували користувачі, вам потрібен облік процесів або якась більш фантазійна система аудиту; див. Моніторинг активності на моєму комп’ютері. , Як перевірити, як довго тривав процес після його закінчення? .