Wenn Sie Ihren Webhosting-Benutzern Shell-Zugriff gewähren, sollten Sie überprüfen, welche Befehle sie verwenden. In cPanel gibt es eine Datei im Home-Verzeichnis des Benutzers, die den SSH-Verlauf speichert.
Die Datei ist /home/username/.bash_history
Der Punkt im Dateinamen bedeutet, dass die Datei versteckt ist. Sie können die Katze verwenden Befehl, um den Dateiinhalt anzuzeigen:
# cat /home/username/.bash_history
root@web [/home/test]# cat .bash_history
#1521029684
exit
#1584542216
ls
#1584542218
w
#1584542219
top
#1584542230
free -m
#1584542234
uptime
#1584542238
cd /
#1584542240
ls
#1584542251
du -sh /home
#1584542267
du -sh /home/test
#1584542281
exit
root@web [/home/test]#
Beachten Sie, dass die Datei .bash_history Die Datei gehört dem Benutzer, sodass der Benutzer sie jederzeit ändern kann.
Die Zeilen, die mit # beginnen enthalten die Uhrzeit (im Unix/Epoch Time-Format), zu der der Befehl ausgeführt wurde. Unten setzen wir einen Link zu einer Seite, auf der Sie die Unix-Zeit in eine menschenlesbare Zeit umwandeln können. Oder einfacher können Sie das Datum verwenden Befehl:
root@web [/home/test]# date -d @1584543556
Wed Mar 18 09:59:16 CDT 2020
root@web [/home/test]#
Um die Daten automatisch umzuwandeln, können Sie einen Befehl wie diesen verwenden:
# paste -sd '#\n' .bash_history | awk -F"#" '{d=$2 ; $2="";print NR" "strftime("%m/%d/%y %T",d)" "$0}'
Dadurch werden die Datums- und Befehlszeilen verkettet und das Datumsformat geändert. Unser Dateibeispiel wird sein:
# /home/plothost$ paste -sd '#\n' .bash_history | awk -F"#" '{d=$2 ; $2="";print NR" "strftime("%m/%d/%y %T",d)" "$0}'
03/14/18 08:14:44 exit
03/18/20 10:36:56 ls
03/18/20 10:36:58 w
03/18/20 10:36:59 top
03/18/20 10:37:10 free -m
03/18/20 10:37:14 uptime
03/18/20 10:37:18 cd /
03/18/20 10:37:20 ls
03/18/20 10:37:31 du -sh /home
03/18/20 10:37:47 du -sh /home/test
03/18/20 10:38:01 exit
Ressourcen:
Wikipedia-Unix-Zeit/Epochenzeit
Epochenzeitkonverter