【history】如何絲滑地記錄Linxu命令行操作歷史恩袱?

對于運維來講,history命令應(yīng)該說是用到最多的了胶哲,尤其是一些老舊的系統(tǒng)畔塔,一些歷史命令更多時候,相當(dāng)于是運維手冊鸯屿,但是history命令有時候也有很多不方便的地方澈吨。

今天介紹一種方式,是把歷史命令寄摆,不同用戶使用的歷史命令都可以根據(jù)用戶記錄下來谅辣,甚至可以做為審計使用。

執(zhí)行如下腳本婶恼,會在/etc/profile.d下面生成一個cmd.sh腳本桑阶,然后會在/etc/ryslogd.d下建立一個日志規(guī)則柏副,結(jié)果的話,是在/var/log下生成具體記錄蚣录。

注意: 密碼啥的不建議直接命令行直接輸入8钤瘛!包归!

# cat gen_histry.sh

#!/bin/bash
# Debug:set -x

# Check if user is root
   if [ $(id -u) -ne "0" ]; then
       echo "Error: You must be root to run this script, please use root to install."
       exit 1
   fi
# define variables
cmd_path=/etc/profile.d
log_path=/etc/rsyslog.d

cat > $cmd_path/cmd.sh << 'EOF'
#!/bin/bash

# get realip
WHOAMI=`who -u am i | awk '{print $NF}'`
DATE=`date +%F_%T`

if [ -n "$WHOAMI" ];then
    declare -x REAL_LOGNAME=`who am i | cut -d" " -f1`
    declare -x REAL_IP=`who -u | egrep $WHOAMI | head -1 | awk '{print $NF}' | sed -e 's/[()]//g'`
  else
    echo "$DATE ssh execute." >> /dev/null
fi 

if [ $USER == root ]; then
        declare -x PROMT="#"
  else
        declare -x PROMT="$"
fi

LAST_HISTORY="$(history 1)"
__LAST_COMMAND="${LAST_HISTORY/*:[0-9][0-9] /}"

declare -x h2l='
    THIS_HISTORY="$(history 1)"
    __THIS_COMMAND="${THIS_HISTORY/*:[0-9][0-9] /}"
    if [ "$LAST_HISTORY" != "$THIS_HISTORY" ];then
        __LAST_COMMAND="$__THIS_COMMAND"
        LAST_HISTORY="$THIS_HISTORY"
        logger -p local4.notice -i -t $REAL_LOGNAME $REAL_IP "[$USER@$HOSTNAME $PWD]$PROMT $__LAST_COMMAND"
    fi'
trap "$h2l" DEBUG
EOF
#####
if [ -d $log_path ];then
    echo "$log_path does exist"
  else 
    mkdir -p $log_path
fi

# record cmd log
cat > $log_path/cmd_track.conf << 'EOF'
# Log nc_profile generated CMD log messages to file
local4.notice /var/log/history.log

& ~
EOF

重啟 syslogd

#  sh  gen_histry.sh
# systemctl restart syslogd

具體結(jié)果的話锨推,是這樣的:

image.png

可以看到具體的主機名、登陸用戶公壤、操作指令换可、從哪里登陸的都可以很清晰的看到了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末厦幅,一起剝皮案震驚了整個濱河市沾鳄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌确憨,老刑警劉巖译荞,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異休弃,居然都是意外死亡吞歼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進店門塔猾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篙骡,“玉大人,你說我怎么就攤上這事丈甸∨此祝” “怎么了?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵睦擂,是天一觀的道長得湘。 經(jīng)常有香客問我,道長顿仇,這世上最難降的妖魔是什么淘正? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮臼闻,結(jié)果婚禮上跪帝,老公的妹妹穿的比我還像新娘。我一直安慰自己些阅,他們只是感情好伞剑,可當(dāng)我...
    茶點故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著市埋,像睡著了一般黎泣。 火紅的嫁衣襯著肌膚如雪恕刘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天抒倚,我揣著相機與錄音褐着,去河邊找鬼。 笑死托呕,一個胖子當(dāng)著我的面吹牛含蓉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播项郊,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼馅扣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了着降?” 一聲冷哼從身側(cè)響起差油,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎任洞,沒想到半個月后蓄喇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡交掏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年妆偏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盅弛。...
    茶點故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡楼眷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出熊尉,到底是詐尸還是另有隱情,我是刑警寧澤掌腰,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布狰住,位于F島的核電站,受9級特大地震影響齿梁,放射性物質(zhì)發(fā)生泄漏催植。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一勺择、第九天 我趴在偏房一處隱蔽的房頂上張望创南。 院中可真熱鬧,春花似錦省核、人聲如沸稿辙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邻储。三九已至赋咽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吨娜,已是汗流浹背脓匿。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宦赠,地道東北人陪毡。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像勾扭,于是被迫代替她去往敵國和親毡琉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容