1.linux如何查看用戶所有的歷史操作記錄
成都創(chuàng)新互聯(lián)公司專注于井岡山企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,電子商務(wù)商城網(wǎng)站建設(shè)。井岡山網(wǎng)站建設(shè)公司,為井岡山等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
1、使用w命令查看登錄用戶正在使用的進程信息,w命令用于顯示已經(jīng)登錄系統(tǒng)的用戶的名稱,以及他們正在做的事。該命令所使用的信息來源于/var/run/utmp文件。w命令輸出的信息包括:用戶名稱
用戶的機器名稱或tty號
遠程主機地址
用戶登錄系統(tǒng)的時間
空閑時間(作用不大)
附加到tty(終端)的進程所用的時間(JCPU時間)
當(dāng)前進程所用時間(PCPU時間)
用戶當(dāng)前正在使用的命令
$ w
23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 10.1.80.56 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 10.20.48 23:01 2:53 0.01s 0.01s -bash
john pts/2 10.1.80.7 23:04 0.00s 0.00s 0.00s w
此外,可以使用who am i查看使用該命令的用戶及進程,使用who查看所有登錄用戶進程信息,這些查看命令大同小異;
2. 在linux系統(tǒng)的環(huán)境下,不管是root用戶還是其它的用戶只有登陸系統(tǒng)后用進入操作我們都可以通過命令history來查看歷史記錄, 可是假如一臺服務(wù)器多人登陸,一天因為某人誤操作了刪除了重要的數(shù)據(jù)。這時候通過查看歷史記錄(命令:history)是沒有什么意義了(因為history只針對登錄用戶下執(zhí)行有效,即使root用戶也無法得到其它用戶histotry歷史)。那有沒有什么辦法實現(xiàn)通過記錄登陸后的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile里面加入以下代碼就可以實現(xiàn):
2.liunx 怎么查看用戶登錄 的歷史記錄
查看某用戶 cat /home/username/.bash_history 的操作歷史
使用root登陸使用last -x可查看用戶登陸歷史。
last 命令:
功能說明:列出目前與過去登入系統(tǒng)的用戶相關(guān)信息。
語 法:last [-adRx][-f ][-n ][帳號名稱…][終端機編號…]
補充說明:單獨執(zhí)行l(wèi)ast指令,它會讀取位于/var/log目錄下,
名稱為wtmp的文件,并把該給文件的內(nèi)容記錄的登入系統(tǒng)的用戶名單全部顯示出來。
參 數(shù):
-a 把從何處登入系統(tǒng)的主機名稱或IP地址,顯示在最后一行。
-d 將IP地址轉(zhuǎn)換成主機名稱。
-f 指定記錄文件。
-n 或- 設(shè)置列出名單的顯示列數(shù)。
-R 不顯示登入系統(tǒng)的主機名稱或IP地址。
-x 顯示系統(tǒng)關(guān)機,重新開機,以及執(zhí)行等級的改變等信息
3.linux查看歷史操作記錄
這個是某位高人寫的。希望對你有幫助。那有沒有什么辦法實現(xiàn)通過記錄登陸后的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile里面加入以下代碼就可以實現(xiàn): #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/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +” %Y%m%d_%H%M%S”`
export HISTFILE=”/tmp/dbasky/${LOGNAME}/${USER_IP}.dbasky.$DT”
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2/dev/null可以看到在使用history命令的時候是沒時間顯示,不知道這個命令是什么時候所執(zhí)行,這個時候可以編輯/etc/bashrc文件,加入如下三行:HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”
export HISTTIMEFORMAT保存后退出,關(guān)閉當(dāng)前shell,并重新登錄
這個時候,在~/.bash_History文件中,就有記錄命令執(zhí)行的時間了
用cat命令顯示這個文件,但是卻會看到這個時間不是年月日顯示的
一、如何查看Linux中各個用戶的歷史操作命令
查看命令歷史用history命令,歷史命令只有在注銷的時候,才會被更新到~/.bash_history這個系統(tǒng)歷史命令記錄文件中;當(dāng)你下次以bash登錄Linux的時候,系統(tǒng)會主動由當(dāng)前用戶的~/.bash_history文件讀取歷史命令的記錄。
history命令用法:
history 數(shù)字
列出最近的n條命令;
history -w
將目前的歷史記憶的內(nèi)容強制立即寫入~/.bash_history文件中;
history -c
將目前所有的歷史命令記錄全部清除。
二、如何將Linux系統(tǒng)的歷史操作命令刪除
你好,
1、修改/etc/profile將HISTSIZE=1000改成0或1
清除用戶home路徑下。bash_history
2、立即清空里的history當(dāng)前歷史命令的記錄
history -c
3、bash執(zhí)行命令時不是馬上把命令名稱寫入history文件的,而是存放在內(nèi)部的buffer中,等bash退出時會一并寫入。
不過,可以調(diào)用'history -w'命令要求bash立即更新history文件。
history -w
后續(xù)操作的刪除命令只會刪除當(dāng)前用戶的操作命令,并不會影響其他用戶。
在提示符后輸入命令history,就可以查看到當(dāng)前用戶的歷史操作命令。圖中所示的是目前系統(tǒng)保存到root用戶輸入的377條命令。
在提示符下輸入命令history -c就可以刪除歷史操作命令。再用history命令查看,發(fā)現(xiàn)歷史操作命令已刪除。
如果希望系統(tǒng)不再保存歷史操作命令,就必須更改配置文件目錄下的配置文件profile。首先使用vi編輯器打開該文件。
找到HISTSIZE這個值,默認情況下歷史命令將保存1000條,可以將該值改為0,然后保存并退出,最后重啟系統(tǒng)使得配置文件生效。
6重啟完成后,再次使用命令history查看,發(fā)現(xiàn)系統(tǒng)已不再記錄命令。
三、linux怎么樣顯示命令歷史后又顯示命令的輸入時間
linux的bash內(nèi)部命令history就可以顯示命令行的命令歷史,默認環(huán)境執(zhí)行 history
命令后,通常只會顯示已執(zhí)行命令的序號和命令本身。
如果想要查看命令歷史的時間戳,那么可以執(zhí)行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service work restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
這樣顯示的格式就變成,序號 - 時間 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制歷史命令記錄的總行數(shù)
將下面兩行內(nèi)容追加到 .bash_profile 文件并重新登錄 bash shell,命令歷史的記錄數(shù)將變成 450
條:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改歷史文件名稱
默認情況下,命令歷史存儲在 ~/.bash_history 文件中。添加下列內(nèi)容到 .bash_profile 文件并重新登錄
bash shell,將使用 mandline_warrior 來存儲命令歷史:
# vi ~/.bash_profile
HISTFILE=/root/mandline_warrior
3、使用 HISTCONTROL 從命令歷史中剔除連續(xù)重復(fù)的條目
在下面的例子中,pwd 命令被連續(xù)執(zhí)行了三次。執(zhí)行 history 后會看到三條重復(fù)的條目。要剔除這些重復(fù)的條目,可以將
HISTCONTROL 設(shè)置為 ignoredups:
# export HISTCONTROL=ignoredups
4、使用 HISTCONTROL 清除整個命令歷史中的重復(fù)條目
上例中的 ignoredups 只能剔除連續(xù)的重復(fù)條目。要清除整個命令歷史中的重復(fù)條目,可以將 HISTCONTROL 設(shè)置成
erasedups:
# export HISTCONTROL=erasedups
5、使用 -c 選項清除所有的命令歷史
如果你想清除所有的命令歷史,可以執(zhí)行:
# history -c
6、使用 HISTIGNORE 忽略歷史中的特定命令
下面的例子,將忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
四、請問linux的history指令如何顯示全部的歷史記錄
history命令可以用來顯示曾執(zhí)行過的命令。
執(zhí)行過的命令默認存儲在HOME目錄的.bash_history文件中,可以通過查看該文件來獲取執(zhí)行命令的歷史記錄。需要注意的是.bash_history不包含當(dāng)前會話所執(zhí)行的命令,執(zhí)行過的命令在關(guān)機時才會寫入文件,除非執(zhí)行命令history -w。
了解linux基礎(chǔ)命令,另外你是感興趣的話可以看下劉遄老師寫的《Linux就該這么學(xué)》作為入門的書籍,覺得不錯的話采納下哦~。
五、linux 查看當(dāng)前系統(tǒng)默認可以記住用戶多少個歷史命令用什么命令
可以使用History命令,主要用于顯示歷史指令記錄內(nèi)容, 下達歷史紀(jì)錄中的指令 。
1、History命令語法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
參數(shù):
n:數(shù)字,要列出最近的 n 筆命令列表
-c:將目前的shell中的所有 history 內(nèi)容全部消除
-a:將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預(yù)設(shè)寫入 ~/.bash_history
-r:將 histfiles 的內(nèi)容讀到目前這個 shell 的 history 記憶中
-w:將目前的 history 記憶內(nèi)容寫入 histfiles
Linux系統(tǒng)在shell(控制臺)中輸入并執(zhí)行命令時,shell會自動把命令記錄到歷史列表中,一般保存在用戶目錄下的.bash_history文件中。默認保存1000條,也可以更改這個值。
如果鍵入history, history會顯示所使用的前1000個歷史命令,并且編了號,會看到一個用數(shù)字編號的列表快速從屏幕上卷過??赡懿恍枰榭?000個命令中的所有項目, 當(dāng)然也可以加入數(shù)字來列出最近的 n 筆命令列表。
linux中history命令不僅僅可以查詢歷史命令而已. 還可以利用相關(guān)的功能來幫執(zhí)行命令。
2、運行特定的歷史命令
history會列出bash保存的所有歷史命令,并且編了號,可以使用“嘆號接編號”的方式運行特定的歷史命令.
語法說明:
[test@linux]# [!number] [!mand] [!!]
參數(shù)說明:
number :第幾個指令的意思;
mand:指令的開頭幾個字母
! :上一個指令的意思!
3、History命令實戰(zhàn)
列出所有的歷史記錄:
[test@linux] # history
只列出最近10條記錄:
[test@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執(zhí)行命令,執(zhí)行歷史清單中的第99條命令
[test@linux] #!99 (!和99中間沒有空格)
重復(fù)執(zhí)行上一個命令
[test@linux] #!!
執(zhí)行最后一次以rpm開頭的命令(!? ?代表的是字符串,這個String可以隨便輸,Shell會從最后一條歷史命令向前搜索,最先匹配的一條命令將會得到執(zhí)行。)
[test@linux] #!rpm
逐屏列出所有的歷史記錄:
[test@linux]# history | more
立即清空history當(dāng)前所有歷史命令的記錄
[test@linux] #history -c
除了使用history命令,在 shell 或 GUI 終端提示下,也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會向前翻閱),直到找到所需命令為止。這可以很方便地編輯前面的某一條命令,而不用重復(fù)輸入類似的命令。
Linux系統(tǒng)會記錄用戶登陸系統(tǒng)后執(zhí)行過的命令;在一定情況下,可以幫助對系統(tǒng)的管理。
配置參數(shù):
HISTTIMEFORMAT = '%F %T ' #日期格式
HISTSIZE = 4000 #保留日志數(shù)量
HISTFILE = /var/history #存儲文件
缺點:
1、默認的記錄用戶命令服務(wù),沒有記錄命令執(zhí)行的時間。
2、沒有記錄用戶登陸的IP
3、同一個用戶的不同會話,記錄到同一個文件中;無法根據(jù)不同會話分別記錄。
優(yōu)化:
1、每次用戶登陸后,根據(jù)用戶賬號、登陸IP和登陸時間確定存儲文件名。這樣除非同一個用戶,同一個IP,同一時刻登陸服務(wù)器才會記錄到同一個文件中。
2、將上述設(shè)置,配置為用戶登陸后,自動執(zhí)行
3、將日志寫入一個隱藏目錄中。
腳本內(nèi)容:
將腳本放在/etc/profile.d/history.sh中。