Si vous donnez un accès Shell aux utilisateurs de votre hébergement Web, vous voudrez peut-être vérifier les commandes qu'ils utilisent. Dans cPanel, il existe un fichier dans le répertoire personnel de l'utilisateur qui conserve l'historique SSH.
Le fichier est /home/username/.bash_history
Le point à partir du nom de fichier signifie que le fichier est caché. Vous pouvez utiliser le chat commande pour voir le contenu du fichier :
# 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]#
Notez que le .bash_history le fichier appartient à l'utilisateur, ce dernier peut donc le modifier à tout moment.
Les lignes commençant par # contenir l'heure (au format Unix/Epoch Time) à laquelle la commande a été exécutée. Ci-dessous, nous mettons un lien vers un site où vous pouvez convertir l'heure Unix en heure lisible par l'homme. Ou plus facilement vous pouvez utiliser la date commande :
root@web [/home/test]# date -d @1584543556
Wed Mar 18 09:59:16 CDT 2020
root@web [/home/test]#
Pour convertir automatiquement les dates, vous pouvez utiliser une commande comme :
# paste -sd '#\n' .bash_history | awk -F"#" '{d=$2 ; $2="";print NR" "strftime("%m/%d/%y %T",d)" "$0}'
Cela concaténera les lignes de date et de commande et modifiera le format de la date. Notre exemple de fichier sera :
# /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
Ressources :
Wikipédia Heure Unix/Heure d'époque
Convertisseur d'heure d'époque