Я изменил бы экранную привязку клавиш далеко от esc до чего-то как ctrl. Я не испытал ничего как то, что Вы описываете с привязкой значения по умолчанию в .screenrc в AIX, Fedora, Debian или Ubuntu.
Использовать 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
. Если то, что Вы хотите знать, - то, что управляет, чтобы пользователи работали, Вы должны обработать учет или некоторую более необычную систему аудита; посмотрите Контролирующее действие по моему компьютеру., Как проверить, сколько времени процесс бежал за законченным?.
find /home -name .bash_history | xargs grep <string>
Кроме того:
grep string $(find /home -name .bash_history)
Обратите внимание, что это покрывает корневые каталоги в местоположениях по умолчанию. Было бы лучше проанализировать /etc/passwd
или вызовите getent
, и проанализируйте вывод этого.
for i in $(getent passwd | cut -d: -f6 ); do grep string ${i}/.bash_history; done
Вы могли сделать
find /home | grep bash_history | xargs grep "whatever"
Но я действительно не думаю, что это намного лучше затем, что Вы думали.
getent passwd | cut -d : -f 6 | sed "s:$:/.bash_history:" | xargs -d'\n' -I{} sh -c "[ -f {} ] && echo {}" | xargs -d'\n' grep -Hn -e "$pattern"
– BryKKan 05.10.2017, 00:03{}
как это очень опасно. Имя файла интерполировано непосредственно в сценарии. Если у Вас есть имя файла (здесь: имя пользователя) содержащий, скажем,$(rm -rf /)
или;rm -rf /;
, команда будет выполняться. Всегда передавайте имена файлов как аргументы сценариям оболочки, никогда не используйте, находят или xargs's{}
механизм. – Gilles 'SO- stop being evil' 05.10.2017, 00:13