一、功能介紹:
1.收集服務器信息
主要收集服務器系統(tǒng)版本、IP地址、ARP連接、路由信息、密碼信息、歷史命令、當前權限、網(wǎng)絡連接、進程信息、服務信息、SSH登錄信息、環(huán)境變量、計劃任務等多種信息。2.目錄結構信息收集
主要對服務器上的目錄結構進行信息收集,方便查看服務器的結構目錄。3.關鍵詞信息收集
通過在腳本中設置關鍵字,可以在服務器上搜索包含該關鍵字的文件,并將該文件所在的目錄寫入到指定文件中,然后我們可以通過查詢該文件來訪問指定目錄,在配置文件中找到我們所需要的關鍵信息。二、使用方法:1.查看幫助

gather-h

2.常規(guī)掃描
gather-s
常規(guī)掃描主要掃描服務器信息,將結構輸出到/tmp/report/result.txt中

3.全部掃描(建議使用)
gather-a
全部掃描會收集服務器信息、收集服務器目錄結構、對關鍵字進行信息收集,并將結果輸出到/tmp/report目錄下,會生成tree.txt、result.txt、keyword.txt

4.結果輸出

#!/bin/bash
#exportpath
exportPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/sbin/:$PATH
#createresultdir
RESULT_DIR=/tmp/report
mkdir-p${RESULT_DIR}
RESULT_FILE=${RESULT_DIR}/result.txt
RESULT_TREE=${RESULT_DIR}/tree.txt
RESULT_KEY=${RESULT_DIR}/keyword.txt
if[-f"$RESULT_FILE"];then
rm-rf${RESULT_FILE}
fi
if[-f"$RESULT_TREE"];then
rm-rf${RESULT_TREE}
fi
#catsystemversion
SYS_VER=`cat/proc/version`
sys_debian="Debian"
SSH_DIR=~/.ssh/
CON_DIR=/var/spool/cron/crontabs/
showip=`iprouteshow|grep-n'eth0s*protos*kernels*scopes*links*src'|sed's/^.*src//g'|seds/metric.*$//g`
userinfo=`foriin$(cut-d":"-f1/etc/passwd2>/dev/null);doid$i;done2>/dev/null`
#sensitivedata
a_dir=("/etc/""/opt/""/var/""/home/""/root/""/usr/")
#a_file=("redis.conf""mongodb.conf""server.xml""vsftpd.conf""ldap.conf""nginx.conf""apache2.conf""smb.conf")
#banner
echo-e"33[36m--------------------------------------------------------33[0m"
echo-e"33[31m██████╗█████╗████████╗██╗██╗███████╗██████╗33[0m"
echo-e"33[31m██╔════╝██╔══██╗╚══██╔══╝██║██║██╔════╝██╔══██╗33[0m"
echo-e"33[31m██║███╗███████║██║███████║█████╗██████╔╝33[0m"
echo-e"33[31m██║██║██╔══██║██║██╔══██║██╔══╝██╔══██╗33[0m"
echo-e"33[31m╚██████╔╝██║██║██║██║██║███████╗██║██║33[0m"
echo-e"33[31m╚═════╝╚═╝╚═╝╚═╝╚═╝╚═╝╚══════╝╚═╝╚═╝33[0m"
echo-e"33[36m--------------------------------------------------------33[0m"
echo
echo-e"33[31mLinuxServerProbeScript33[0m"
echo-e"33[31mHostname:33[0m33[32m`hostname`33[0m"
echo-e"33[31mKernel:33[0m33[32m`uname-m`33[0m"
echo-e"33[31mUser:33[0m33[32m`whoami`33[0m"
echo-e"33[31mIP:33[0m33[32m${showip}33[0m"
echo-e"33[31mReport:33[0m33[32m/tmp/report33[0m"
echo-e"33[31mHelp:33[0m33[32muse-h33[0m"
echo-e"33[36m-------------------------------33[0m"
#usage
usage(){echo"Usage:$0[-s][-a][-t][-k>]"1>&2;exit1;}
#checksystem
funsys()
{
os=`uname-o`
os_re=`uname-n`
os_ke=`uname-rv`
ver=$(echo$SYS_VER|grep"${sys_debian}")
if[["$ver"!=""]]
then
echo-e"OS:33[32m${os}${os_re}33[0m"
echo-e"Kernel:33[32m${os_ke}33[0m"
echo-e"33[36m-------------------------------33[0m"
echo-e"33[31mGatherStartat33[0m`date`"
echo-e"33[36m-------------------------------33[0m"
else
echo-e"OS:33[32m${os}${os_re}33[0m"
echo-e"Kernel:33[32m${os_ke}33[0m"
echo-e"33[36m-------------------------------33[0m"
echo-e"33[31mGatherStartat`date`...33[0m"
echo-e"33[36m-------------------------------33[0m"
fi
}
#dirstruct
funtree()
{
ifcommand-vtree>/dev/null2>&1;then
foriin${a_dir[@]}
do
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
echo-e"33[32m${i}33[0m">>$RESULT_TREE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
tree${i}>>$RESULT_TREE2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mdirectorystructureinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mdirectorystructureinfo......33[31mFAILED33[0m"
fi
else
forsin${a_dir[@]}
do
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
echo-e"33[32m${s}33[0m">>$RESULT_TREE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_TREE
ls-R-t-s-a${s}>>tree.txt2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mdirectorystructureinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mdirectorystructureinfo......33[31mFAILED33[0m"
fi
fi
}
#findkey
funkey()
{
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_KEY
echo-e"33[32mFindKeywordInfo33[0m">>$RESULT_KEY
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_KEY
#findthekeyword--pass
echo-e"33[32mIncludethekeyword--passInfo33[0m">>$RESULT_KEY
find/-maxdepth4-name*.conf-typef-execgrep-Hnpass{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.ini-typef-execgrep-Hnpass{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.log-typef-execgrep-Hnpass{};>>$RESULT_KEY2>&1
#findthekeyword--includecurrentuser
echo-e"33[32mIncludethekeyword--`whoami`Info33[0m">>$RESULT_KEY
find/-maxdepth4-name*.conf-typef-execgrep-Hn`whoami`{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.ini-typef-execgrep-Hn`whoami`{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.log-typef-execgrep-Hn`whoami`{};>>$RESULT_KEY2>&1
#findthekeyword--sqlserver
echo-e"33[32mIncludethekeyword--sqlserverInfo33[0m">>$RESULT_KEY
find/-maxdepth4-name*.conf-typef-execgrep-Hnmssql{};>>$RESULT_KEY2>&1
find/-maxdepth4-name*.conf-typef-execgrep-Hnsqlserver{};>>$RESULT_KEY2>&1
#findthekeyword--mysql
echo-e"33[32mIncludethekeyword--mysqlInfo33[0m">>$RESULT_KEY
find/-maxdepth4-name*.my.cnf-typef-execgrep-Hnmysql{};>>$RESULT_KEY2>&1
#findfilesthatweremodifiedwithin72hours
echo-e"33[32mweremodifiedwithin72hoursfileInfo33[0m">>$RESULT_KEY
find/-name"*.*"-ctime-2>>$RESULT_KEY2>&1
#findtheSUIDfilewithrootaccess
echo-e"33[32mtheSUIDfilewithrootaccessInfo33[0m">>$RESULT_KEY
find/-uid0-perm-4000-typef>>$RESULT_KEY2>&1
if[[$?-eq0]]
then
echo>>$RESULT_KEY
echo-e"33[31mGather33[0mfindkeywordinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mfindkeywordinfo......33[31mFAILED33[0m"
fi
}
#commonmode
funsip()
{
#releaseinformation
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mReleaseInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/*-release>>$RESULT_FILE2>&1
cat/proc/version>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mreleaseinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mreleaseinfo......33[31mFAILED33[0m"
fi
#ifconfig
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mIPAddressInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
ipaddressshow>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mipaddressinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mipaddressinfo......33[31mFAILED33[0m"
fi
#arp
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mArpInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
arp-v>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0marpinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0marpinfo......33[31mFAILED33[0m"
fi
#route
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mRouteInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
route-v>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mrouteinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mrouteinfo......33[31mFAILED33[0m"
fi
#/etc/passwd
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSystemPasswdFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
if["$userinfo"]
then
echo-e"
$userinfo">>$RESULT_FILE2>&1
else
:
fi
hashesinpasswd=`grep-v'^[^:]*:[x]'/etc/passwd2>/dev/null`
if["$hashesinpasswd"]
then
echo-e"e[00;33mItlookslikewehavepasswordhashesin/etc/passwd!e[00m
$hashesinpasswd">>$RESULT_FILE2>&1
else
:
fi
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/passwd......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/passwd......33[31mFAILED33[0m"
fi
#/etc/shadow
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSystemShadowFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/shadow>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/shadow......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/shadow......33[31mFAILED33[0m"
fi
#/etc/sudoers
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSystemSudoersFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/sudoers2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/sudoers......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/sudoers......33[31mFAILED33[0m"
fi
#compgen
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mUserexecutablecommandsFileInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
compgen-c>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mUserexecutablecommands......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mUserexecutablecommands......33[31mFAILED33[0m"
fi
#passwordpolicyinformation
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mPasswordpolicyInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/login.defs2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/login.defs......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/login.defs......33[31mFAILED33[0m"
fi
#/root
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mChecksroothomedirectoryInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
ls-ahl/root/>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mroothomedirectory......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mroothomedirectory......33[31mFAILED33[0m"
fi
#netstat
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mNetStatus33[0m">>$RESULT_FILE
echo-e"33[36m------------------TCP---PORT------------------------33[0m">>$RESULT_FILE
netstat-antp>>$RESULT_FILE2>&1
echo-e"33[36m------------------UDP---PORT------------------------33[0m">>$RESULT_FILE
netstat-anup>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mnetstat......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mnetstat......33[31mFAILED33[0m"
fi
#process
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mProcessInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
psaux>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mprocessinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mprocessinfo......33[31mFAILED33[0m"
fi
#services
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mServicesInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/services2>/dev/null|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mservicesinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mservicesinfo......33[31mFAILED33[0m"
fi
#iptables
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mIptablesInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
iptables-nL>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0miptablesinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0miptablesinfo......33[31mFAILED33[0m"
fi
#bashenv
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mBashEnv33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mcurrentuser33[0m">>$RESULT_FILE
echo-e"33[36m-----------------------33[0m">>$RESULT_FILE
envinfo=`env2>/dev/null|grep-v'LS_COLORS'2>/dev/null`
if["$envinfo"]
then
echo-e"
$envinfo">>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
else
:
fi
cat~/.bashrc2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo$PATH>>$RESULT_FILE2>&1
echo-e"33[36m-----------------------33[0m">>$RESULT_FILE
echo-e"33[32msystemenvprofile33[0m">>$RESULT_FILE
echo-e"33[36m-----------------------33[0m">>$RESULT_FILE
cat/etc/profile2>/dev/null|grep-v-e'^$'|grep-v"#">>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mbashenv......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mbashenv......33[31mFAILED33[0m"
fi
#commandhistory
HISTFILE=~/.bash_history
exportHISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:"`whoami`":"
set-ohistory
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mCommandHistory33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
history>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat$HISTFILE>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mcommandhistory......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mcommandhistory......33[31mFAILED33[0m"
fi
#userlogininfo
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mLoginInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
w>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
last>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
lastlog>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mlogininfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mlogininfo......33[31mFAILED33[0m"
fi
#hosts
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mHostsInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
find/etc/home-typef(-name"*.rhosts"-o-name"*.equiv")>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/hosts>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mhostsinfo......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mhostsinfo......33[31mFAILED33[0m"
fi
#fstab
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mMountInfo33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/fstab>>$RESULT_FILE2>&1
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0m/etc/fstab......33[32mOK33[0m"
else
echo-e"33[31mGather33[0m/etc/fstab......33[31mFAILED33[0m"
fi
#sshauthkeyconfig
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mSSHAuthKeyConfig33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
sshfiles=`find/(-name"id_dsa*"-o-name"id_rsa*"-o-name"known_hosts"-o-name"authorized_hosts"-o-name"authorized_keys")-execls-la{}2>/dev/null;`
if["$sshfiles"];then
echo-e"e[00;31mSSHkeys/hostinformationfoundinthefollowinglocations:e[00m
$sshfiles">>$RESULT_FILE2>&1
echo-e"
">>$RESULT_FILE2>&1
else
:
fi
if[-d"${SSH_DIR}"]
then
foriin`ls-1${SSH_DIR}>>$RESULT_FILE2>&1`
do
cat${SSH_DIR}${i}>>$RESULT_FILE2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0msshauthkey......33[32mOK33[0m"
else
echo-e"33[31mGather33[0msshauthkey......33[31mFAILED33[0m"
fi
else
echo-e"33[31mGather33[0msshauthkey......33[31mFAILED33[0m"
echo-e"33[31m.sshNosuchfileordirectory33[0m">>$RESULT_FILE
fi
#crontab
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
echo-e"33[32mCrontabConfig33[0m">>$RESULT_FILE
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
ls-al/etc/cron*>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cat/etc/rc.local>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
cut-d":"-f1/etc/passwd|xargs-n1crontab-l-u>>$RESULT_FILE2>&1
echo-e"33[36m----------------------------------------------------33[0m">>$RESULT_FILE
if[-d"${CON_DIR}"]
then
foriin`ls-1${CON_DIR}>>$RESULT_FILE2>&1`
do
cat${CON_DIR}${i}>>$RESULT_FILE2>&1
done
if[[$?-eq0]]
then
echo>>$RESULT_FILE
echo-e"33[31mGather33[0mcrontab......33[32mOK33[0m"
else
echo-e"33[31mGather33[0mcrontab......33[31mFAILED33[0m"
fi
else
echo-e"33[31mGather33[0mcrontab......33[31mFAILED33[0m"
echo-e"33[31mNosuchfileordirectory33[0m">>$RESULT_FILE
fi
}
#getopts
#./gather-t10-s
whilegetoptsshtaARGS
do
case$ARGSin
s)
#commonmode
funsys
funsip
;;
a)
#all
funsys
funsip
funtree
funkey
;;
k)
#key
funsys
funkey
;;
t)
#dirstruct
funsys
funtree
;;
h)
#help
echo"CommonMode:-s"
echo"FullMode:-a"
echo"DirTreeMode:-t"
echo"FindKeywordMode:-k"
usage
;;
*)
#paramerror
echo"$1isnotanoption"
usage
;;
esac
done
Footer
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Linux
+關注
關注
88文章
11772瀏覽量
219129 -
服務器
+關注
關注
14文章
10272瀏覽量
91553
原文標題:【收藏】Linux服務器信息收集工具,附腳本!
文章出處:【微信號:釋然IT雜談,微信公眾號:釋然IT雜談】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
服務器數(shù)據(jù)恢復—意外斷電!Linux服務器數(shù)據(jù)恢復大揭秘
某品牌服務器+存儲,安裝的linux操作系統(tǒng)。
機房意外斷電導致服務器操作系統(tǒng)無法正常啟動,服務器管理員故障服務器進行修復操作后進入系統(tǒng)查
SSH 遠程連接內(nèi)網(wǎng) Linux 服務器
利用 ZeroNews,您可對用內(nèi)網(wǎng)的 Linux 服務器進行統(tǒng)一的 SSH 遠程連接管理,當用戶外出時,可通過 ZeroNews 分配的公網(wǎng)域名地址,快速訪問企業(yè)內(nèi)部、家庭的 Linux
Linux服務器入侵檢測與應急響應流程
作為一名運維工程師,你是否曾在凌晨3點接到告警電話?服務器異常、流量暴增、CPU飆升...這些可能都是入侵的征兆。本文將分享一套完整的Linux服務器入侵檢測與應急響應流程,讓你在面對安全事件時有條不紊,快速定位并解決問題。
華納云服務器Linux系統(tǒng)電源管理與節(jié)能優(yōu)化配置方法
在云計算時代,Linux系統(tǒng)的電源管理優(yōu)化成為提升云服務器能效的關鍵環(huán)節(jié)。本文將深入解析Linux內(nèi)核的電源管理機制,從CPU調(diào)頻策略到磁盤休眠設置,提供一套完整的節(jié)能配置方案。通過調(diào)整系統(tǒng)參數(shù)
利用Ansible自動化部署Linux服務器
作為一名在運維一線摸爬滾打多年的工程師,我見過太多因為手工配置導致的生產(chǎn)事故。今天,我將毫無保留地分享我在大規(guī)模Linux服務器自動化管理中積累的實戰(zhàn)經(jīng)驗,讓你也能輕松駕馭數(shù)百臺服務器的配置管理。
如何構建Linux服務器安全防護體系
前言:作為一名運維工程師,我見過太多因為安全配置不當而被攻破的服務器。本文將分享我多年來積累的實戰(zhàn)經(jīng)驗,教你如何構建一套完整的Linux服務器安全防護體系。
如何高效管理Linux服務器
作為一名運維工程師,我們每天的工作是確保服務器的穩(wěn)定運行、提高效率以及解決各種系統(tǒng)性問題。在繁忙的工作中,如何提升管理Linux服務器的效率,成為了我們最關注的問題。幸運的是,自動化工具
如何配置Linux防火墻和Web服務器
在當今數(shù)字化時代,網(wǎng)絡安全顯得尤為重要。Linux作為一種開源操作系統(tǒng),廣泛應用于服務器管理和網(wǎng)絡配置中。本篇文章將詳細介紹如何配置Linux防火墻和Web服務器,確保內(nèi)網(wǎng)與外網(wǎng)的安全
服務器數(shù)據(jù)恢復—Linux系統(tǒng)服務器崩潰的數(shù)據(jù)恢復案例
服務器數(shù)據(jù)恢復環(huán)境:
linux操作系統(tǒng)服務器中有一組由4塊SAS接口硬盤組建的raid5陣列。
服務器故障:
服務器工作過程中突
linux服務器怎么卸載寶塔?完整清理指南與優(yōu)化建議
在Linux服務器運維中,寶塔面板因其可視化操作便利性被廣泛使用,但部分用戶因業(yè)務調(diào)整或安全需求需徹底卸載。本文將解析linux服務器卸載寶塔流程,并揭示如何通過
如何在Linux中配置DNS服務器
本文詳細介紹了如何在Linux中配置DNS服務器,包括DNS工作原理、本地緩存、DNS查詢過程,以及正向和反向查詢的配置。步驟包括服務器配置、編輯BIND配置文件、添加解析信息和客戶端
服務器數(shù)據(jù)恢復—服務器部分數(shù)據(jù)目錄項被破壞的數(shù)據(jù)恢復案例
一臺安裝linux系統(tǒng)的服務器意外斷電。管理員重啟服務器后進行檢測,發(fā)現(xiàn)服務器上部分文件丟失。管理員沒有進行任何操作,直接將服務器正常關機并
如何在RakSmart服務器上用Linux系統(tǒng)部署DeepSeek
Linux系統(tǒng) DeepSeek 部署方案,結合RakSmart 服務器硬件推薦及多場景適配建議,主機推薦小編為您整理發(fā)布如何在RakSmart服務器上用Linux系統(tǒng)部DeepSee
Linux服務器信息收集工具,附腳本!
評論