標籤:style color 使用 os 檔案 2014
[[email protected] ~]# rpm -qa|grep log
sysklogd-1.4.1-46.el5
logwatch-7.3-9.el5_6
logrotate-3.7.4-12
rsyslog-3.22.1-7.el5
[[email protected] ~]# rpm -qa|grep init
initscripts-8.45.42-1.el5.centos
[[email protected] ~]# rpm -qa|grep psacct
psacct-6.3.2-44.el5
/var/run/utmp 當前的,/var/log/wtmp 曆史的,/var/log/btmp 失敗的
[[email protected] ~]# last
root pts/0 36.44.101.18 Sat Jul 19 19:19 still logged in
root pts/0 36.44.101.18 Sat Jul 19 18:59 - 19:18 (00:19)
root pts/0 172.16.1.18 Fri Jul 18 22:18 - 01:47 (03:28)
wtmp begins Mon Jul 14 19:02:38 2014
[[email protected] ~]# last -f /var/log/btmp 查看失敗紀錄的
root ssh:notty 36.44.101.18 Sat Jul 19 19:18 still logged in
root ssh:notty 36.44.101.18 Sat Jul 19 19:18 - 19:18 (00:00)
btmp begins Sat Jul 19 19:18:54 2014
wtmp和utmp檔案都是二進位檔案,他們不能被諸如tail命令剪貼或合并(使用cat命令)。使用者需要使用who、w、users、last和ac來使用這兩個檔案包含的資訊。
last命令往回搜尋wtmp來顯示自從檔案第一次建立以來登入過的使用者
lastlog命令查看各個使用者最後一次登入時間
users用單獨的一行列印出當前登入的使用者,每個顯示的使用者名稱對應一個登入工作階段
w命令查詢utmp檔案並顯示當前系統中每個使用者和它所啟動並執行進程資訊
who命令查詢utmp檔案並報告當前登入的每個使用者
ac命令根據當前的/var/log/wtmp檔案中的登入進入和退出來報告使用者連結的時間(小時)
ac -d按天計算登入的時間,ac -p按使用者計算登入時間,ac -d lzb尋找此使用者每天的登入時間
包含下列結構的一個二進位記錄寫入這兩個檔案中:
struct utmp {
char ut_line[8]; /* tty line: "ttyh0", "ttyd0", "ttyp0", ... */
char ut_name[8]; /* login name */
long ut_time; /* seconds since Epoch */
};
登入時,login程式填寫這樣一個結構,然後將其寫入到utmp檔案中,同時也將其添寫到wtmp檔案中。
登出時,init進程將utmp檔案中相應的記錄擦除(每個位元組都填以0 ),並將一個新記錄添寫到wtmp檔案中。讀wtmp檔案中的該登出記錄,其ut_name欄位清除為0。在系統再啟動時,以及更改系統時間和日期的前後,都在wtmp檔案中添寫特殊的記錄項。who( 1 )程式讀utmp檔案,並以可讀格式列印其內容。後來的UNIX版本提供last( 1 )命令,它讀wtmp檔案並列印所選擇的記錄。wtmp檔案,它跟蹤各個登入和登出事件。
wted
wtmp/utmp日誌編輯程式。你可以使用這個工具編輯所有wtmp或者utmp類型的檔案。
z2
utmp/wtmp/lastlog日誌清理工具。可以刪除utmp/wtmp/lastlog記錄檔中有關某個使用者名稱的所有條目。不過,如果用於Linux系統需要手工修改其原始碼,設定記錄檔的位置。
連線時間日誌
進程統計日誌
錯誤記錄檔
[[email protected] ~]# rpm -qa|grep psacct
psacct-6.3.2-63.el6_3.3.x86_64
[[email protected] ~]# service psacct stop
Shutting down process accounting: [ OK ]
[[email protected] account]# service psacct start 服務啟動
Starting process accounting: [ OK ]
[[email protected] account]# /etc/init.d/psacct start 指令碼啟動
Starting process accounting: [ OK ]
[[email protected] ~]# lastcomm pts/0 通過終端名
[[email protected] ~]# lastcomm ls 通過命令名
[[email protected] ~]# lastcomm oracle 通過使用者名稱查詢
[[email protected] ~]# lastcomm
crond SF root __ 0.03 secs Sat Jul 19 20:01
run-parts root __ 0.03 secs Sat Jul 19 20:01
S 命令由超級使用者執行
F 命令由fork產生,但沒有exec
D 命令終止並建立一個core檔案
X 命令被sigterm訊號終止
[[email protected] ~]# sa
90 32918.77re 0.02cp 15590k
2 103.78re 0.00cp 17840k sshd
2 0.00re 0.00cp 40344k rpm
15 32719.14re 0.00cp 15922k ***other*
4 0.00re 0.00cp 27552k ps
3 95.59re 0.00cp 14420k sftp-server
3 0.00re 0.00cp 27104k psacct
6 0.00re 0.00cp 4355k unix_chkpwd
4 0.00re 0.00cp 29324k ls
7 0.00re 0.00cp 13053k bash*
0.36re "實際時間" 單位為分鐘。
0.12cp 系統和使用者時間總數(CPU時間, 單位為分鐘)。
31156K 核心使用所佔的平均CPU時間, 一個單元的大小為1KB。
up2date 命令名。
顯示每一個使用者:
[[email protected] ~]# sa -u
root 0.00 cpu 917k mem accton
root 0.00 cpu 15806k mem touch
root 0.00 cpu 16060k mem psacct
oracle 0.07 cpu 35696k mem oracle
oracle 0.00 cpu 327296k mem oracle *
[[email protected] ~]# sa -a
245 107.25re 0.12cp 74539k
44 57.27re 0.05cp 35697k oracle
4 0.04re 0.04cp 28412k rpmq
1 0.12re 0.03cp 78080k yum-updatesd-he
2 24.14re 0.00cp 16330k sshd
2 23.90re 0.00cp 16576k bash
[[email protected] ~]# sa -b
249 110.34re 0.12cp 74947k
4 0.04re 0.04cp 28412k rpmq
13 1.24re 0.03cp 14194k ***other
46 60.35re 0.06cp 35697k oracle
2 24.14re 0.00cp 16330k sshd
2 23.90re 0.00cp 16576k bash
2 0.00re 0.00cp 16464k ps
[[email protected] ~]# sa -m
252 111.34re 0.13cp 75499k
root 156 49.77re 0.07cp 12392k
oracle 94 61.36re 0.06cp 181496k
sshd 2 0.22re 0.00cp 16000k
你可以通過查看re, k, cp/cpu(見上面輸出解釋)時間來找出可疑的活動, 或某個使用者/命令佔用了所有的CPU時間。如果CPU/Memeory使用數(命令)在不斷增加, 可以說明命令存在問題。