Ciekawostka: Linux domyślnie…

Ciekawostka: Linux domyślnie loguje komendy w bashu do ~/.bash_history.
Użytkownik może ten plik usunąć, przekierować do /dev/null itp itd.
Jednym ze sposobów na logowanie KAŻDEJ komendy w bashu KAŻDEGO użytkownika jest:

1) Do pliku /etc/bash.bashrc (/etc/bashrc w niektórych distro) dopisz:

export PROMPT_COMMAND=’RETRN_VAL=$?;logger -p local6.debug „$(whoami) [$$]: $(history 1 | sed „s/^[ ]*[0-9]+[ ]*//” ) [$RETRN_VAL]”’

2) Stwórz plik /etc/rsyslog.d/bash.conf i dodaj:

local6.* /var/log/bash.log

3) Zrestartuj rsyslog:

sudo service rsyslog restart

Od teraz każdy wpis w bashu będzie natychmiastowo logowany do /var/log/bash.log – łącznie z datą, nazwą usera i komendą, przykład:

[root@whatever ~]# uptime
23:04:37 up 1153 days, 15:40, 1 user, load average: 0.09, 0.05, 0.01

[root@whatever ~]# tail /var/log/bash.log -n 1
Mar 7 23:04:37 whatever maybe: root [24891]: 2020-03-07 23:04:37 # uptime [0]

#linux