未完待續...... 把一些有用的命令記錄下來,後期需要用到的時候就過來查詢吧。這篇文章沒啥營養,就當個字典用吧。 查看當前登錄用戶 w 查看登錄用戶數、IP、運行命令 查看進程 top 最常用的方法 查看所有進程 ps 兩個命令功能一樣的,寫法不一樣而已; ps aux # BSD操作系統格式 參 ...
目錄
未完待續......
把一些有用的命令記錄下來,後期需要用到的時候就過來查詢吧。這篇文章沒啥營養,就當個字典用吧。
查看當前登錄用戶
w
查看登錄用戶數、IP、運行命令
查看進程
top
最常用的方法
查看所有進程 ps
兩個命令功能一樣的,寫法不一樣而已;
ps aux
# BSD操作系統格式
參數:
- a
- u
- x
ps -le
# linux標準命令格式
參數:
- l
- e
如果top和ps都找不到異常進程
可以試試unhide命令,這個需要安裝一下,有時候網路問題會安裝失敗,需要更換源或者代理試試。
Unhide 通過下述三項技術來發現隱藏的進程。
- 進程相關的技術,包括將 /proc 目錄與 /bin/ps 命令的輸出進行比較,發現有不一致的就輸出,查看是否是隱藏進程。
- 系統相關的技術,包括將 /bin/ps 命令的輸出結果同從系統調用方面得到的信息進行比較。
- 窮舉法相關的技術,包括對所有的進程 ID 進行暴力求解。(該技術僅限於在基於 Linux2.6 內核的系統中使用)
$ sudo unhide -h
Unhide 20130526
Copyright © 2013 Yago Jesus & Patrick Gouin
License GPLv3+ : GNU GPL version 3 or later
http://www.unhide-forensics.info
NOTE : This version of unhide is for systems using Linux >= 2.6
Usage: unhide [options] test_list
Option :
-V Show version and exit
-v verbose
-h display this help
-m more checks (available only with procfs, checkopendir & checkchdir commands)
-r use alternate sysinfo test in meta-test
-f log result into unhide-linux.log file
-o same as '-f'
-d do a double check in brute test
Test_list :
Test_list is one or more of the following
Standard tests :
brute
proc
procall
procfs
quick
reverse
sys
Elementary tests :
checkbrute
checkchdir
checkgetaffinity
checkgetparam
checkgetpgid
checkgetprio
checkRRgetinterval
checkgetsched
checkgetsid
checkkill
checknoprocps
checkopendir
checkproc
checkquick
checkreaddir
checkreverse
checksysinfo
checksysinfo2
checksysinfo3
查看進程樹 pstree
查看進程的父子關係
pstree
參數:
- p
- u
查看是否有別人連接
查看sshd遠程連接進程是否有別人連接
pstree | grep sshd
系統進程管理器 top
linux的系統進程管理器
top
預設刷新是每3秒刷新一次,
木馬在大量發包時肯定會造成資源的消耗,通過排序可以發現了頂部進程有大量的嫌疑,
和ps 的區別是,top能做命令交互。
-d
-b
-n
?/h
P
M
N
q
查看後臺進程 jobs
放入後臺的進程都是長時間運行的進程,且不需要在和用戶交互。
jobs
- l
/+ 剛進入後臺的進程
/- 倒數第二個進入後臺的進程
Stopped 表示該進程暫停了
Running 表示該進程在運行
Done 表示該進程執行結束
把進程放入後臺的方法
方法1:
- python a.py &
- 運行起來之後按下 ctrl+z,放在後臺暫停。
這種關閉了當前的shell視窗,後臺的任務也會結束。
方法2:crontab -e
寫定時任務
方法3:nohup 命令
終止進程
殺死單一進程 kill
kill
殺死一類進程 killall
殺死一類進程,比如apache每連接一個用戶就是一條線程,同類進程太多時,單一操作效率就很慢了,需要一類(批)操作
killall & pkill
列出進程打開或使用的文件
lsof
系統定時任務
查看系統定時任務,有沒有可疑進程。定時任務的命令都需要確認是否安裝,是否有許可權(訪問控制文件)。
at
一次性定時任務
atq
查看當前一次性的定時任務列表
at -c 【任務編號】
at任務的具體執行內容
atrm [工作號]
刪除指定的at任務
如何查看全部用戶的at手動編輯的任務?
如果atq是由root執行,則將列出系統中所有沒有執行的Unix at命令。然後可以使用atrm命令根據atq輸出Job號來刪除at作業。
crontab
迴圈定時任務,游戲伺服器,需要每個月固定重啟讓伺服器狀態回歸良好;
身份綁定
crontab是需要綁定當前用戶的身份。
root能編輯root的,hack能編輯hack的,不能串 低許可權用戶也不能執行高許可權命令。
手工編輯定時任務
crontab -e
編輯定時任務
如何查看全部用戶的cronatab手動編輯的任務?
root許可權
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
系統配置文件編輯定時任務
root可以編輯/etc/crontab 這個配置文件,
或者用系統定義好的時,天,周,月配置文件來加定時任務
/etc/cron.hourly
/etc/cron.daily
/etc/corn.weekly
/etc/cron.monthly
/var/spool/anacron 是新版的 centOS6.0後啟用,添加的功能是,如果一些故障(關機了),anacron的主機在恢復正常後,會立即恢復工作
這4個文件的定時任務就能在規定時間點重新執行起來 補回機制不知道:
/etc/cron.hourly
/etc/cron.daily
/etc/corn.weekly
/etc/cron.monthly
crontab -l
查看當前用戶的定時任務
crontab -r
刪除當前用戶的全部定時任務,想刪除單個用 -e編輯,一行一行刪。
開啟啟動任務
cd /etc/init.d
# 這個目錄存放的是一些腳本,一般是linux以rpm包安裝時設定的一些服務的啟動腳本
vim /etc/rc.local
# 這個是個配置文件,作為一個shell腳本來編輯,將自己的啟動命令編輯到腳本中,無論如何都會被載入
/etc/init.d/samba start
因為Linux可以按照不同的場景來選擇是否載入,甚至是載入不同的啟動腳本,這時就要用rc(0-6)按場景來分:
- rc0.d
- rc1.d
- rc2.d
- rc3.d
- rc4.d
- rc5.d
- rc6.d
以上也是在應急的時候需要排查的啟動項。
另外一個添加啟動項的地方在/etc/profile裡面,還有 /etc/profile.d/目錄下以sh結尾的文件
信息安全從業人員,記錄虛與實。 MysticbinaryGithub:https://github.com/Mysticbinary