Linux記錄使用者執行命令

2021-10-13 12:36:00 字數 2582 閱讀 4771

#!/bin/bash

# by [email protected]

# 記錄使用者執行命令及ip位址

# 登入提示許可權不足可以忽略,因為這是禁止使用者刪除許可權提示;

# linux詳細記錄每個使用者的執行命令

# 缺陷不能記錄vim裡的命令

# 檔案存放在 /etc/profile.d 或者/etc/profile

# source /etc/profile 生效或者重啟系統;

# 建立目錄

hislog_dir=

"/tmp/hislog"

[ -d $]||

mkdir -p $

# 第一次請先賦予目錄許可權,方便普通使用者也能記錄

# chmod 777 $

# 建立存放日誌檔案

export histfile=

"$/$(

date

'+%f'

).his"

# 給這個檔案最大許可權,讓普通賬號的命令也能記錄

# -x 判斷檔案是否有執行許可權;-w 檔案是否有寫入許可權; -r 檔案是否有讀取許可權

[ -x $/$(

date

'+%f'

).his ]

||chmod 777 -r $/$(

date

'+%f'

).his

# 許可權(只能root使用者可以檢視),開啟這個普通賬號無法記錄命令

#umask 000 $histfie

#定義儲存的命令日誌檔案

export histtimeformat=

'%f %t '

#定義命令日誌格式

export prompt_command=

'user=$(

who am i |

sed"s/[ ][ ]*/ /g"

); history 1 \| $

$$(whoami

) $";} >> $histfile'

# 禁止使用者刪除許可權;取消sudo chattr -a

chattr +a -r $

# $ $ 當前操作命令時間

# $ 登入使用者

# $(whoami) 當前執行命令的使用者

記錄的命令格式如下,擷取了一小段
[root@test ~]

# more /tmp/hislogs/2020-12-30.his

2020-12-30 15:58:34 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos su - root

2020-12-30 16:04:26 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ll

2020-12-30 16:04:26 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ll

2020-12-30 16:04:26 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ll

2020-12-30 16:04:36 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos more /tmp/hislogs/2020-12-30.his

2020-12-30 16:04:44 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ls -ls

2020-12-30 16:04:45 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos more /tmp/hislogs/2020-12-30.his

2020-12-30 16:04:49 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos cd

2020-12-30 16:04:49 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos cd

2020-12-30 16:05:09 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll

2020-12-30 16:05:15 centos pts/1 2020-12-30 15:54 (12.21.13.24) root vim /etc/profile.d/history.sh

2020-12-30 16:05:37 centos pts/1 2020-12-30 15:54 (12.21.13.24) root source /etc/profile

2020-12-30 16:05:38 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll

2020-12-30 16:05:41 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll /tmp/

2020-12-30 16:05:43 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll /tmp/hislogs/

跟蹤記錄使用者

1 標記承載使用者身份的http請求首部 form 存放email user agent 監聽瀏覽器 3 使用者登入 4 胖url,開始進入 的時候,會生成乙個標識,加在每個a標籤上,當訪問此網頁的所有鏈結時,伺服器識別出標識知 道還是這個客戶,1缺點 1.不美觀,2.對伺服器生產額外複雜 3.不能...

記錄使用者操作

在最近工作中,博主手頭上的web專案提了乙個新的需求,這個需求大體上就是希望系統能夠記錄使用者做了哪些操作,包括這些操作的細節。大家都知道,使用者的操作無非就是增,刪,改,查。因為我現在做的這個專案對使用者的查詢操作不敏感,所以只需記錄增,刪,改。在做之前呢,我的leader給了我乙個建議 你要不寫...

記錄使用者登入日誌

我們可以在專案中,實現使用者登入日誌記錄。簡單實現方法,如下 在資料中建立一張表,儲存一些相關的資訊。setansi nulls ongo setquoted identifier ongo create table dbo loginlog loginlogid int identity 1 1 ...