Linux實現日志審記

來源:本站原創 IT必備工具 超過187 views圍觀 0條評論

關鍵命令

PROMPT_COMMAND

read

 

1.創建用戶審計文件存放目錄和審計日志文件 ;

 

[[email protected] ~]# touch /var/log/Command_history.log

2.將日志文件所有者賦予一個最低權限的用戶;

[[email protected] ~]# chown nobody.nobody /var/log/Command_history.log
 
-rw-r–r– 1 nobody nobody 0 12月 26 10:19 /var/log/Command_history.log

3.給該日志文件賦予所有人的寫權限;

[[email protected] ~]# chmod 002 /var/log/Command_history.log

4.設置文件權限,使所有用戶對該文件只有追加權限 ;

[[email protected] ~]# chattr +a /var/log/Command_history.log
ll /var/log/Command_history.log
——–w- 1 nobody nobody 0 12月 26 10:19 /var/log/Command_history.log

 

查看
[[email protected] ~]# lsattr /var/log/Command_history.log
—–a———- /var/log/Command_history.log

5.編輯/etc/profile文件,添加如下腳本命令;
腳本
export HISTORY_FILE=/var/log/Command_history.log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### USER:$USER IP:$SSH_CLIENT PS:$SSH_TTY ppid=$PPID pwd=$PWD  #### $(history 1 | { read x y; echo "$y"; })";} >>$HISTORY_FILE’

 

6.使配置生效

source  /etc/profile

說明
PROMPT_COMMAND 實現審計功能 使用PROMPT_COMMAND可以在用戶輸入一條命令,就直接記錄,

管道前面,history 1表示取最后一條命令。管道后面'{ }’內是一整體,相當于一個函數,函數里面可以有多條命令,用分號分割,而且最后一條命令也必須加分號。
第一條命令和'{‘之間必須要有空格。
history 1 取后后一條,將結果賦值給 read x y
x =第一個值,因為是序號所以不需要
打印 $cmd的值

 

 

效果

[[email protected] ~]# tail -f /var/log/Command_history.log
2018-12-26 10:27:48 ##### USER:root IP:192.168.130.135 64216 22 PS:/dev/pts/1 ppid=28919 pwd=/root  #### sudo
2018-12-26 10:27:49 ##### USER:root IP:192.168.130.135 64216 22 PS:/dev/pts/1 ppid=28919 pwd=/root  #### sudo
2018-12-26 10:27:50 ##### USER:root IP:192.168.130.135 64216 22 PS:/dev/pts/1 ppid=28919 pwd=/root  #### sudo
2018-12-26 10:28:14 ##### USER:root IP:192.168.130.135 52547 22 PS:/dev/pts/2 ppid=29390 pwd=/root  #### clear

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=4020轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏