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