Назад | Перейти на главную страницу

Измените командную строку, которая сохраняется в history / .bash_history в Linux.

Когда команды сохраняются в истории в Linux, есть ли способ добавить к командной строке в истории удаленный IP-адрес SSH и идентификатор процесса, чтобы было легко группировать команды из одного сеанса SSH, а также видеть, откуда они были запущены ? Я знаю, как получить IP-адрес и идентификатор процесса, но не знаю, как это сделать, чтобы сохранить это в истории.

Есть ли способ изменить командную строку, которая сохраняется в .bash_history, или какой-либо другой способ сделать это?

Даже если бы можно было изменить сохраняемую команду, это было бы нежелательно, потому что это повлияло бы на фактическую историю команд, если вы пойдете ее использовать (например, с помощью стрелки вверх, ctrl + r и т. Д.). Комментарии безопасно разрешены в файле истории (например, отметка времени), и поэтому, исходя из этого, вот способ, чтобы иметь возможность регистрировать эту информацию в истории как комментарии. У него есть недостаток, заключающийся в том, что нажатие ctrl + c вызовет запуск $ PROMPT_COMMAND и, таким образом, ненужные комментарии будут добавлены в файл истории, но это относительно незначительно и, кроме этого, похоже, помогает. В файл ~ / .bash_profile целевого пользователя можно добавить следующее. Добавляемый комментарий является подробным для ясности.

shopt -s histappend
PROMPT_COMMAND='history -a; ssh_ip=`echo $SSH_CLIENT|awk "{print \\\$1}"`; echo "#command above was run from PPID $PPID, IP $ssh_ip" >>~/.bash_history '