1. 程式人生 > >Linux系統檢視歷史使用者的指令、程式碼

Linux系統檢視歷史使用者的指令、程式碼

一、檢視Linux系統的歷史記錄指令
1、 使用w命令檢視登入使用者正在使用的程序資訊
w命令用於顯示已經登入系統的使用者的名稱,以及他們正在做的事。該命令所使用的資訊來源於/var/run/utmp檔案。w命令輸出的資訊包括:
• 使用者名稱稱
• 使用者的機器名稱或tty號
• 遠端主機地址
• 使用者登入系統的時間
• 空閒時間(作用不大)
• 附加到tty(終端)的程序所用的時間(JCPU時間)
• 當前程序所用時間(PCPU時間)
• 使用者當前正在使用的命令
Exampl:
W指令
此外,可以使用who am i檢視使用該命令的使用者及程序,使用who檢視所有登入使用者程序資訊,這些檢視命令大同小異;

2、使用pkill強制退出登入的使用者
使用pkill可以結束當前登入使用者的程序,從而強制退出使用者登入,具體使用可以結合w命令;
首先:使用w檢視當前登入的使用者,注意TTY所示登入程序終端號
其次:使用pkill –9 -t pts/1 結束pts/1程序所對應使用者登入(可根據FROM的IP地址或主機號來判斷)

3、使用history指令檢視歷史使用者操作指令
使用完W指令檢視使用者的操作程序後,使用history指令可以看到以往的使用者操作指令。

History使用引數
[[email protected]]# history [n] **:數字,要列出最近的 n 筆命令列表
[

[email protected]]# history [-c] **:將目前的shell中的所有 history 內容全部消除
[[email protected]]# history [-raw] histfiles
-a :將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預設寫入 ~/.bash_history
-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中
-w :將目前的 history 記憶內容寫入 histfiles。
history

備註:
Linux系統當你在shell(控制檯)中輸入並執行命令時,shell會自動把你的命令記錄到歷史列表中,一般儲存在使用者目錄下的.bash_history檔案中。預設儲存1000條,你也可以更改這個值。
如果你鍵入 history, history會向你顯示你所使用的前1000個歷史命令,並且給它們編了號,你會看到一個用數字編號的列表快速從螢幕上捲過。你可能不需要檢視1000個命令中的所有專案, 當然你也可以加入數字來列出最近的 n 筆命令列表。
linux中history命令不僅僅讓我們可以查詢歷史命令而已. 我們還可以利用相關的功能來幫我們執行命令。

二、檢視所有登入使用者的操作歷史的程式碼
通過在/etc/profile裡面加入以下程式碼就可以實現:

**#this script records log of user,and records IP address .**
PS1="`whoami`@`hostname`:"'[$PWD]'
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/Iprecords ]
then
mkdir /tmp/Iprecords
chmod 777 /tmp/Iprecords
fi
if [ ! -d /tmp/Iprecords/${LOGNAME} ]
then
mkdir /tmp/Iprecords/${LOGNAME}
chmod 300 /tmp/Iprecords/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/Iprecords/${LOGNAME}/${USER_IP} Iprecords.$DT"
chmod 600 /tmp/Iprecords/${LOGNAME}/*Iprecords* 2>/dev/null

[[email protected]]# source /etc/profile    ********執行指令碼

重啟之後,上面指令碼在系統的/tmp新建個Iprecords目錄,記錄所有登陸過系統的使用者和IP地址(檔名),每當使用者登入/退出會建立相應的檔案,該檔案儲存這段使用者登入時期內操作歷史,可以用這個方法來監測系統的安全性。
這裡寫圖片描述

相關推薦

Linux系統檢視伺服器型號CPURAMROM以及網絡卡資訊

首先是CPU方面的: 檢視CPU型號 # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R

Linux系統檢視歷史使用者的指令程式碼

一、檢視Linux系統的歷史記錄指令 1、 使用w命令檢視登入使用者正在使用的程序資訊 w命令用於顯示已經登入系統的使用者的名稱,以及他們正在做的事。該命令所使用的資訊來源於/var/run/utmp檔案。w命令輸出的資訊包括: • 使用者名稱

linux系統日誌的介紹檢視和儲存

幾個關於日誌檔案的介紹 Linux使用者登入記錄日誌和相關檢視命令彙總:https://blog.csdn.net/jsd2honey/article/details/78404337 linux系統日誌的介紹、檢視和儲存:https://blog.csdn.net/hh5820/article/deta

linux系統查看CPU內存磁盤版本等信息

需要 適合 release opp gpo code 核數 sda rip 【聲明】 本篇博客內容均來自網友的博客,本篇只是進行匯總整理,以方便自己查看。 參考資料:https://www.cnblogs.com/xubiao/p/6497533.html      h

Linux發行版介紹Linux系統基礎使用入門Linux命令幫助Linux基礎命令

系統運維 Linux 計算機打的基礎知識:CPU(運算器、控制器)、memory、I/O(輸入設備、輸出設備) 程序運行模式: 用戶空間:user space,us (可執行普通指令) 內核空間:system space (可執行特權指令) POS:Postable Operatin

Linux系統中查找刪除重復文件,釋放磁盤空間。

apt-get 簡單 模式 快速 文件中查找 名稱 lease 遞歸 工具 在Linux系操作系統中查找並刪除重復文件的方法的確有很多,不過這裏介紹的是一款非常簡單實用的軟件FSlint。FSlint是一個重復文件查找工具,可以使用它來清除不必要的重復文件,筆者經常使用它來

Linux系統檢視系統核心與版本號

1、檢視核心版本        1) cat /proc/version        2) uname -a    如上圖所示,核心版本是4.4.114 ,其中x86_64,

複習電商筆記-16-Linux版本TOMCAT的安裝程式碼的部署和ngnix介紹

  Tomcat叢集 nginx + tomcats實現Tomcat叢集 三個tomcat部署的業務相同,它們共同訪問一個數據庫     配置XShell黏貼複製 選中文字自動複製到剪貼簿上,類似Ctrl+v 實現

Linux檢視記憶體型號主機板硬碟等等

首先檢視是否安裝了dmidecode工具 [[email protected] ~]# dmidecode Linux 檢視記憶體的插槽數,已經使用多少插槽.每條記憶體多大: [[email protected] ~]# dmidecode|grep -

Linux系統檢視硬碟的使用時間--使用smartmontools

smartmontools windows系統裡有很多好用的軟體可以檢視硬碟的總使用時長,Linux下也有類似的工具smartmontools。 S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; often w

linux系統檢視網路連線情況

netstat命令狀態說明: CLOSED                      沒有使用這個套接字[netstat 無法顯示closed狀態]

Linux系統下的編譯連線與執行

眾所周知,我們程式設計師所寫的程式碼都是英文字母與數字的集合,我們人能看懂,但是電腦只能識別高低電壓,也就是所說的01程式碼,它是如何識別我們程式設計師所寫的程式碼呢,比如c語言、c++。 我們所寫的程式碼又是經過了哪些過程之後,計算機就能識別了呢?也就是本文要講的我們所寫的程式碼是如何變成可執

Linux系統的檔案型別檔案系統的層級結構

目錄 1.檔案型別: 2.檔案系統的層級結構: 注:本文章的系統環境為centos 7 1.檔案型別:         -:常規檔案;即f;         d: direct

Linux系統上執行scrapy框架程式碼環境安裝教程

1: we have to install python enviroment.Linux system has its own python,but the edtion maybe too old.we can use it or install our own python.The w

Linux系統檢視CPU使用率的幾個命令

在linux的系統維護中,可能需要經常檢視cpu使用率,分析系統整體的執行情況。而監控CPU的效能一般包括以下3點:執行佇列、CPU使用率和上下文切換。 對於每一個CPU來說執行佇列最好不要超過3,例如,如果是雙核CPU就不要超過6。如果佇列長期保持在3以上,說明任何一個程序執行時都不能馬上得到cpu

Linux系統檢視埠的佔用情況

1.netstat  -anp  |grep   埠號 如下,我以3306為例,netstat  -anp  |grep  3306(此處備註下,我是以普通使用者操作,故加上了sudo,如果是以root使用者操作,不用加sudo即可檢視),如下圖1:        

Linux系統檢視行動硬碟的使用時間--使用smartmontools

windows系統裡有很多好用的軟體可以檢視硬碟的總使用時長,Linux下也有類似的工具smartmontools。 S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; often wr

Linux系統檢視CPU使用率命令

轉:http://www.cnblogs.com/gongchixin/articles/7998054.html 在linux的系統維護中,可能需要經常檢視cpu使用率,分析系統整體的執行情況。而監控CPU的效能一般包括以下3點:執行佇列、CPU使用率和上下文切換。 對於每一個CPU來說執

linux檢視核心版本gcc版本作業系統多少位等引數

1. 檢視linux版本 cat/etc/issueLinaro 12.07 \n \l 2. 檢視核心版本 1)cat/proc/versionLinux version 2.6.38-13-generic([email protected]) (gcc version 4.5.2 (Ubunt

通過Java實現Linux系統下grep指令的功能

現有如下方法可實現在Windows系統下通過Java程式碼實現與第一種使用方法相同的功能:import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOEx