4.說明
要對進(jìn)程進(jìn)行監(jiān)測和控制,首先要了解當(dāng)前進(jìn)程的情況,也就是需要查看當(dāng)前進(jìn)程?s命令就是最基本、也是非常強(qiáng)大的進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)程正在運(yùn)行、運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵尸、哪些進(jìn)程占用了過多的資源等。圖2給出了ps-aux命令詳解。大部分信息都可以通過執(zhí)行該命令得到。最常用的三個(gè)參數(shù)是u、a、x。下面就結(jié)合這三個(gè)參數(shù)詳細(xì)說明ps命令的作用:ps aux
圖2 ps-aux命令詳解
圖2第2行代碼中,USER表示進(jìn)程擁有者;PID表示進(jìn)程標(biāo)示符;%CPU表示占用的CPU使用率;%MEM占用的物理內(nèi)存使用率;VSZ表示占用的虛擬內(nèi)存大小;RSS為進(jìn)程占用的物理內(nèi)存值;TTY為終端的次要裝置號碼。
STAT表示進(jìn)程的狀態(tài),其中D為不可中斷的靜止(I/O動作);R正在執(zhí)行中;S靜止?fàn)顟B(tài);T暫停執(zhí)行;Z不存在,但暫時(shí)無法消除;W沒有足夠的內(nèi)存分頁可分配;高優(yōu)先序的進(jìn)程;N低優(yōu)先序的進(jìn)程;L有內(nèi)存分頁分配并鎖在內(nèi)存體內(nèi) (實(shí)時(shí)系統(tǒng)或 I/O)。START為進(jìn)程開始時(shí)間。TIME為執(zhí)行的時(shí)間。COMMAND是所執(zhí)行的指令。
4.應(yīng)用實(shí)例
在進(jìn)行系統(tǒng)維護(hù)時(shí),經(jīng)常會出現(xiàn)內(nèi)存使用量驚人,而又不知道是哪一個(gè)進(jìn)程占用了大量進(jìn)程的情況。除了可以使用top命令查看內(nèi)存使用情況之外,還可以使用下面的命令:
aux | sort +5n
who
1.作用
who顯示系統(tǒng)中有哪些用戶登陸系統(tǒng),顯示的資料包含了使用者ID、使用的登陸終端、上線時(shí)間、呆滯時(shí)間、CPU占用,以及做了些什么。 使用權(quán)限為所有用戶。
2.格式
who - [husfV] [user]
3.主要參數(shù)
-h:不要顯示標(biāo)題列。
-u:不要顯示使用者的動作/工作。
-s:使用簡短的格式來顯示。
-f:不要顯示使用者的上線位置。
-V:顯示程序版本。
4.說明
該命令主要用于查看當(dāng)前在線上的用戶情況。如果用戶想和其它用戶建立即時(shí)通信,比如使用talk命令,那么首先要確定的就是該用戶確實(shí)在線上,不然talk進(jìn)程就無法建立起來。又如,系統(tǒng)管理員希望監(jiān)視每個(gè)登錄的用戶此時(shí)此刻的所作所為,也要使用who命令。who命令應(yīng)用起來非常簡單,可以比較準(zhǔn)確地掌握用戶的情況,所以使用非常廣泛。
動手練習(xí)
1.使用Linux命令檢測系統(tǒng)入侵者
安裝過Mandrake Linux和Red Hat Linux的用戶都會知道,Linux系統(tǒng)會內(nèi)置三種不同級別(標(biāo)準(zhǔn)、高、更高)的防火墻,當(dāng)進(jìn)行了Linux服務(wù)器的安裝和一些基本的設(shè)置后,服務(wù)器應(yīng)該說是比較安全的,但是也會有黑客通過各種方法利用系統(tǒng)管理員的疏忽侵入系統(tǒng)。如何快速查找黑客非常重要。一般來說,可以使用命令查詢黑客是否入侵,見表1。
表1 查詢黑客入侵現(xiàn)象的命令對應(yīng)表
黑客入侵現(xiàn)象 對應(yīng)命令
處于混雜模式的網(wǎng)卡接口 ifconfig a
不能解釋的CPU活動 top ps
頻繁網(wǎng)絡(luò)的使用 netstat na
磁盤空間急劇減少 df du
日志文件丟失 cat syslog
其它網(wǎng)絡(luò)管理員的通知 mail
沒有授權(quán)的新用戶 who
陌生的進(jìn)程 top ps
舉例說明,如果黑客嗅探網(wǎng)絡(luò),那么它必須使網(wǎng)卡接口處于混雜模式,使用下面命令進(jìn)行查詢:
#ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:00:E8:A0:25:86
inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISCUOUS MTU:1500 Metric:1
......
從這個(gè)命令的輸出中,可以看到上面講到的這些概念。第一行的00:00:E8:A0:25:86是mac地址,第二行的192.168.1.7是IP地址,第四行講的是接收數(shù)據(jù)狀態(tài),這時(shí)正在被黑客嗅探。一般而言,網(wǎng)卡有幾種接收數(shù)據(jù)幀的狀態(tài),如Broadcast、Multicast、Promiscuous等。Broadcast是指接收所有類型為廣播報(bào)文的數(shù)據(jù)幀;Multicast是指接收特定的組播報(bào)文;Promiscuous則是通常說的混雜模式,是指對報(bào)文中的目的硬件地址不加任何檢查、全部接收的工作模式。
2.限制su命令的濫用
我們知道,超級用戶在Linux中有最大的權(quán)利,幾乎所有黑客都想得到這個(gè)目標(biāo)。Linux可以增加對切換到超級用戶的限制。使用PAM(Pluggable Authentication Modules)可以禁止除在wheel組以外的任何人su成root,修改/etc/pam.d/su文件,除去屏蔽標(biāo)識#。使用/usr/sbin/usermod G10 bjecadm將bjecadm這個(gè)賬號加入gid為10的組,就是wheel組。命令如下:
/etc/pam.d/su # 使用密碼驗(yàn)證#
auth sufficient /lib/security/pam_wheel.so debug
# 限制只有wheel組用戶才可以切換到root#
auth required /lib/security/pam_wheel.so use_uid
chmod -G10 bjecadm
另外,每當(dāng)用戶試圖使用su命令進(jìn)入系統(tǒng)用戶時(shí),命令將在/usr/adm/sulog文件中寫一條信息,若該文件記錄了大量試圖用su進(jìn)入root的無效操作信息,則表明了可能有人企圖破譯root口令。
Linux命令有著強(qiáng)大的功能。對于Linux系統(tǒng)管理員來說,往往只需要通過各種安全命令技巧,組合構(gòu)成安全防線。從計(jì)算機(jī)安全的角度看,世界上沒有絕對安全的計(jì)算機(jī)系統(tǒng),Linux系統(tǒng)也不例外。