進(jìn)行BOIS自檢,按照內(nèi)部指定的方式啟動設(shè)備,操作系統(tǒng)接管硬件設(shè)備
讀取/boot
目錄
執(zhí)行init
進(jìn)程。
init
進(jìn)程是所有的進(jìn)程的起點,沒有這個進(jìn)程任何的進(jìn)程都不可能啟動。
init
進(jìn)程會讀取/etc/inittab
配置文件,加載一個運(yùn)行級別
Linux系統(tǒng)有7個運(yùn)行級別(runlevel): 運(yùn)行級別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級別不能設(shè)為0,否則不能正常啟動 運(yùn)行級別1:單用戶工作狀態(tài),root權(quán)限,用于系統(tǒng)維護(hù),禁止遠(yuǎn)程登陸運(yùn)行級別2:多用戶狀態(tài)(沒有NFS)運(yùn)行級別3:完全的多用戶狀態(tài)(有NFS),登陸后進(jìn)入控制臺命令行模式 運(yùn)行級別4:系統(tǒng)未使用,保留 運(yùn)行級別5:X11控制臺,登陸后進(jìn)入圖形GUI模式 運(yùn)行級別6:系統(tǒng)正常關(guān)閉并重啟,默認(rèn)運(yùn)行級別不能設(shè)為6,否則不能正常啟動
常用的運(yùn)行模式有3和5。
在centOS7
下可以通過CTRL+ALT+F1
切換到圖形化窗口,也可以在命令行窗口中通過init 5
切換
通過CTRL+ALT+F6
切換到命令行窗口
★在
./etc/init.d
的配置文件中存在這一行:si::sysinit:/etc/rc.d/rc.sysinit
。這一行調(diào)用執(zhí)行了/etc/rc.d/rc.sysinit
。而rc.sysinit
是一個shell
腳本,他主要完成一些系統(tǒng)初始化的工作,這個腳本每一個運(yùn)行級別運(yùn)行的時候都要首先運(yùn)行。他主要完成了激活交換分區(qū),檢查磁盤等 ”
打開6個終端,以便讓用戶登錄系統(tǒng)
一般模式: vim 文件名 dd 刪除光標(biāo)所在行 d數(shù)字d刪除光標(biāo)所在以下的多少行 yy 復(fù)制當(dāng)前行 y數(shù)字y復(fù)制光標(biāo)所在以下的多少行 u 撤銷上一步操作 shift^ 回到當(dāng)前行的行首 shift$ 回到當(dāng)前行的行尾 1 shift g 回到文件首部 n shift g 跳轉(zhuǎn)到第n行 shift g 跳轉(zhuǎn)到文件末尾 set nu 開啟行號 set nonu 關(guān)閉行號顯示 編輯模式: i , 插入模式,插入的數(shù)據(jù)光標(biāo)的前面、 a , 插入模式,插入的數(shù)據(jù)在光標(biāo)的后面、 o , 插入模式,插入的數(shù)據(jù)在光標(biāo)的下一行 指令模式: : q , 退出文件 w , 寫入文件,相當(dāng)于保存 ! , 強(qiáng)制執(zhí)行指令 /target 查找文本中和target相等的值,并且標(biāo)識出來 n 查詢下一個 shift n 查詢上一個 ? 和 /相同 ,唯一的不同就是n 和shift n 的作用相反
注意:Linux
操作系統(tǒng)所有的東西都是文件,沒有文件后綴的區(qū)分。我們看到的文件后綴名字只是為了迎合window
的習(xí)慣,增加個人的可讀性
用戶操作: useradd 用戶名 # 增加一個用戶 useradd -g 用戶組名字 用戶名 # 將這個用戶添加到這個用戶組中 passwd 用戶名 # 設(shè)置該用戶的密碼 userdel 用戶名 # 刪除一個用戶 userdel -r 用戶名 # 刪除用戶并且刪除用戶主目錄 usermod -g 用戶組 用戶名 # 修改這個用戶名到哪個組 su - 用戶名 # 切換用戶 whoami / who am i #查看當(dāng)前用戶信息 id 用戶名 #查看當(dāng)前用戶是否存在 用戶組操作: groupadd 用戶組名 # 增加一個用戶組 groupdel 用戶組名 # 刪除一個用戶組 groupmod -n 新的名字 舊名字
Linux
中的用戶信息存放于/etc/passwd
文件下,每一行就是一個用戶信息
44 wangwu:x:1001:1001::/home/wangwu:/bin/bash 45 lisi:x:1002:1001::/home/lisi:/bin/bash 用戶名:密碼:用戶唯一標(biāo)識:用戶組唯一標(biāo)識:注釋性描述:用戶文件目錄:登錄shell
**用戶唯一標(biāo)識:**0是root
的標(biāo)識;1~99系統(tǒng)保留,作為管理賬戶;普通用戶從100開始
**用戶組唯一標(biāo)識:**它對應(yīng)了/etc/group
文件中的一條記錄
**注釋性描述:**記錄用戶的個人信息
**用戶文件目錄:**用戶登錄系統(tǒng)以后所處的目錄
**登錄Shell:**用戶登錄以后,要啟動一個進(jìn)程,負(fù)責(zé)將用戶的操作傳給內(nèi)核,這個進(jìn)程是用戶登錄到系統(tǒng)后運(yùn)行的命令解釋器或者某個特定的程序,即Shell
。
Linux
中的密碼信息存放于/etc/shadow
文件下
wangwu:$6$WXky4K1b$rbdtIdxtESyR3DYl8zZnB4lv6KArsIu.aGx1FuZLKneM3o1nZMtWPM.WVYWcsTMAT8G7PAyHjB4.TBUGv6YoG.:18322:0:99999:7:::lisi:$6$XEOvXDHs$4aXlsEh5eTaIukGa9QSSWaC5A5jPFZ2QqyPo.KtccD2CXvcpi6a0NUggmurqCK9b0nCdCLh3/9AaVuXROQL071:18322:0:99999:7:::登錄名:密碼:最后一次的修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間
**最后一次修改時間:**表示的是某一個時刻起,到用戶最后一次修改口令時的天數(shù)
**最小時間間隔:**兩次修改口令之間所需的最小天數(shù)
**最大時間間隔:**口令保持有效的最大天數(shù)
**警告時間:**系統(tǒng)從剛開始警告用戶到用戶密碼正式失效之間的天數(shù)
**不活動時間:**表示用戶沒有登錄活動,單賬號仍能保存的有效天數(shù)
**失效天數(shù):**當(dāng)過了這么多天以后,該賬號就是一個不合法的賬號了
Linux
中的用戶組信息保存在/etc/group
文件下
dev:x:1001:組名:密碼:組標(biāo)識號:組內(nèi)用戶列表
date
通過man
命令來具體使用
cal
pwd # 顯示當(dāng)前目錄 ls # 顯示當(dāng)前目錄中的所有文件和目錄內(nèi)容 -l 將文件目錄以列表顯示 -a 將隱藏文件也顯示出來,包括.和.. -d 僅僅列出目錄本身 mkdir # 創(chuàng)建一個文件夾 -p # 創(chuàng)建多層目錄 rmdir # 刪除一個空的文件夾 touch # 創(chuàng)建一個文件 vim # 編輯或者創(chuàng)建文件,如果文件不存在直接編輯以后寫入即可 cd # 切換文件夾 . #當(dāng)前文件夾 .. # 上一級文件夾 ~ # 回到用戶目錄 - # 回到上一次所在的目錄 cp # 復(fù)制文件 cp 需要進(jìn)行復(fù)制的文件 進(jìn)行復(fù)制的文件路徑(可以指定文件的名字,如果不指定使用初始名字)rm # 刪除文件或者文件夾 -r # 直接刪除文件,會出現(xiàn)提示 -f # 遞歸刪除文件,不會提示 -rf mv #移動文件也可以修改文件的名稱 cat #由第一行開始顯示文件 -A 顯示所有的隱藏內(nèi)容,包括換行符 -b 顯示行號,空白行沒有號 -v 顯示所有的隱藏內(nèi)容 tac more #一頁一頁的顯示文件內(nèi)容 顯示以后可以執(zhí)行的指令 space 下一頁 enter 下一行 b 上一頁 q 離開 less # 和more一樣,功能更多 先是以后可以執(zhí)行的指令 pagedown 下一頁 pageup 上一頁 / 查找字符串,和vim中的用法相同 ? n 下一個需要查找的字符串 N 上一個需要查詢的字符串 q 離開這個less程序 head # 顯示前幾行文件內(nèi)容 tail # 顯示文件最后幾行的內(nèi)容 history # 顯示所有顯示過的指令內(nèi)容 將使用過的指令的內(nèi)容寫入到一個文件中 覆蓋寫: history>文件名 追加寫: history>>文件名
ifconfig
fdisk -l # 查看磁盤分區(qū)信息 設(shè)備 Boot Start End Blocks Id System/dev/sda1 * 2048 616447 307200 83 Linux/dev/sda2 616448 36274175 17828864 8e Linux LVM sda1 s----> 表示scsi硬盤 d----> 表示disk a----> 表示第一塊盤。如果有第二塊磁盤就會顯示b 數(shù)字---> 前四個分區(qū)使用1~4顯示,他們是主分區(qū)或者擴(kuò)展分區(qū),從第5個開始才是邏輯分區(qū)
主分區(qū)
相當(dāng)于window
的C盤
存放了系統(tǒng)啟動需要的文件
擴(kuò)展分區(qū)
除去主分區(qū)以外的所有分區(qū)都是擴(kuò)展分區(qū)
邏輯分區(qū)
在擴(kuò)展分區(qū)中分配多個邏輯分區(qū)
df / # 查看當(dāng)前文件夾或者文件掛載到哪一個分區(qū) 文件系統(tǒng) 1K-塊 已用 可用 已用% 掛載點/dev/mapper/centos-root 15718400 4542208 11176192 29% /
掛載
Linux
通過將固定的目錄或者文件通過掛載的方式掛載到一個磁盤分區(qū)中,以此將目錄與磁盤相聯(lián)系
目錄-->掛載-->分區(qū) mount 參數(shù)名稱 設(shè)備名稱 目錄 # 將目錄掛載到指定的分區(qū)上 umount 目錄 # 將目錄與分區(qū)接觸掛載
find 搜索路徑 參數(shù) # 查找指定的文件或者目錄 find /home -name 'lisi'grep 參數(shù) 查找內(nèi)容 源文件在文件中搜索字符串-匹配的行輸出 grep -n 'this' a.txt 參數(shù): -c:只輸出匹配行的計數(shù)。 -I:不區(qū)分大小寫(只適用于單字符)。 -h(huán):查詢多文件時不顯示文件名。 -l:查詢多文件時只輸出包含匹配字符的文件名。 -n:顯示匹配行及 行號。 -s:不顯示不存在或無匹配文本的錯誤信息。 -v:顯示不包含匹配文本的所有行。
ps # 查看正在運(yùn)行的進(jìn)程信息 PID TTY TIME CMD 6816 pts/0 00:00:00 bash 9471 pts/0 00:00:00 ps PID 進(jìn)程識別號 TTY 終端機(jī)號 TIME 此進(jìn)程所消CPU時間 CMD 正在執(zhí)行的命令或者進(jìn)程名字 ps -a 顯示當(dāng)前終端所有進(jìn)程的信息 ps -u 以用戶的格式顯示進(jìn)程信息 ps -x 顯示后臺進(jìn)程運(yùn)行的參數(shù) 通常使用方式: ps -aux ps -ef
netstat 顯示整個系統(tǒng)的網(wǎng)絡(luò)狀態(tài),例如目前的鏈接,數(shù)據(jù)包傳輸?shù)? 使用方式: netstat -anp 結(jié)合grep使用
top 顯示CPU的使用率 kill 進(jìn)程ID 9 直接殺進(jìn)程
.gz
。壓縮以后源文件不在了
gzip 文件名 #壓縮文件 gunzip 文件名 # 解壓文件
.tar.gz
。壓縮以后源文件存在。
tar -zcvf 文件名 # 壓縮文件 tar -zxvf # 解壓文件
zip
。壓縮后源文件存在
zip 文件名 unzip 文件名
什么是文件權(quán)限 執(zhí)行l(wèi)s -l 命令 -rw-r--r--. 1 root root 0 3月 2 15:21 1.txt #代表一個文件 drwxr-xr-x. 2 root root 21 3月 1 18:29 my #代表一個文件夾 文件類型及權(quán)限信息 鏈接數(shù) 文件所屬 文件所屬組 文件大小 最后一次修改時間 文件名稱
文件類型及權(quán)限信息 drwxr-xr-x和-rw-r--r--第一位代表文件類型,之后的每三位代表文件權(quán)限 d代表文件夾 - 代表文件 rwx 文件:r 代表可讀 w 代表可寫 x 代表可以執(zhí)行 文件夾:r 代表可讀 w 代表可寫 x 代表可以進(jìn)入這個文件夾 第一個rwx代表的是用戶自己的權(quán)限 第二個rwx代表的時候用戶所在組的權(quán)限 第三個rwx代表的是所有其他用戶的權(quán)限
chmod 更改當(dāng)前文件或者目錄的權(quán)限信息 使用方式 rwx 三種權(quán)限要么有要么沒有。所以可以理解為二進(jìn)制的0和1,所以只需要指定每一種用戶權(quán)限二進(jìn)制所代表的十進(jìn)制為多少即可 例如: rwx 代表的二進(jìn)制是111 即十進(jìn)制為7 r_x 代表的二進(jìn)制是101 即十進(jìn)制為5 r__ 代表的二進(jìn)制位100 即十進(jìn)制為4 現(xiàn)在需要:修改a.txt文件的用戶權(quán)限為rwx 用戶組權(quán)限為rx_ , 其他用戶權(quán)限為r__ 對應(yīng)的指令為: chmod 764 a.txt 這樣其權(quán)限信息就修改成功了 #只能root修改 修改文件所在的用戶組 chgrp 組名 文件名 修改文件所有者 chown 用戶名 文件名 # 文件和文件夾存在一種默認(rèn)權(quán)限 通過命令 umask -S 查看文件和文件夾的默認(rèn)權(quán)限 u=rwx,g=rx,o=rx # 默認(rèn)權(quán)限
★默認(rèn)規(guī)則: 是666 減去 022等于644, 十進(jìn)制的6等于二進(jìn)制的110,所以第一組就是rw- 十進(jìn)制的4等于二進(jìn)制的100, 所以第二組就是r-- 十進(jìn)制的4等于二進(jìn)制的100, 所以第三組就是r-- 目錄是777 減去 022等于755, ”
/
是Linux
目錄的起始
/bin
存放了各種Linux的運(yùn)行命令
/etc
存放了系統(tǒng)的配置文件
/opt
安裝非系統(tǒng)應(yīng)用軟件提供的目錄
/home
存放用戶的個人信息
/usr
存放用戶的應(yīng)用程序和文件,類似于window的program
/mnt
用來讓系統(tǒng)掛載其他的文件系統(tǒng),可以掛載光驅(qū)
/media
Linux識別各種設(shè)備,會將這些設(shè)備掛載到這個目錄上
/sbin
系統(tǒng)管理員使用的系統(tǒng)管理程序
/boot
系統(tǒng)加載時候讀取的文件
/sys
安裝了Linux
出現(xiàn)的新的文件系統(tǒng)
/dev
存放了Linux
的外部設(shè)備
/var
存放經(jīng)常需要改動的文件,比如日志文件
/root
root用戶的主目錄
/temp
臨時文件
/lib
存放各種動態(tài)鏈接庫
★類似于node提供的npm 是一種軟件包管理工具 ”
rpm -qa 查詢安裝的所有的rpm軟件包 結(jié)合more 和 grep使用 rpm -q 查詢軟件包是否安裝 rpm -qi 查詢軟件包信息 #卸載軟件 rpm -e rpm軟件包名稱 #安裝軟件 rpm -ivh rpm軟件包名
★一種C語言編寫的程序,用戶和Linux溝通的橋梁。就是我們在命令行中輸入的命令就是Shell語言 ”
cat /proc/meminfo
查看內(nèi)存信息
MemTotal: 1863104 kB 總內(nèi)存 MemFree: 81320 kB 空閑內(nèi)存 MemAvailable: 631160 kB 可用內(nèi)存 Buffers: 220 kB 緩沖區(qū)內(nèi)存 Cached: 760552 kB 緩存內(nèi)存 SwapCached: 0 kB Active: 971044 kB Inactive: 476132 kBActive(anon): 638052 kBInactive(anon): 165052 kBActive(file): 332992 kBInactive(file): 311080 kB
free
顯示系統(tǒng)內(nèi)存的使用情況,結(jié)合-h使用
total used free shared buff/cache available Mem: 1.8G 917M 91M 109M 810M 628M Swap: 2.0G 264K 2.0G
top
實時顯示各個進(jìn)程資源占用情況
PR 進(jìn)程優(yōu)先級 NI nice值。負(fù)值代表高優(yōu)先級,正值代表低優(yōu)先級 VIRT 虛擬內(nèi)存 RES 實際使用的內(nèi)存 SHR 共享內(nèi)存大小 單位kb S 進(jìn)程狀態(tài)%cpu 上次更新到現(xiàn)在的CPU時間占用比%MEM 進(jìn)程使用的物理內(nèi)存百分比 TIME 使用CPU的時間
ps -aux|sort-k4nr-head-10
查看內(nèi)存中使用最多的前10個進(jìn)程
★前言:早晨起來,看到騰訊云親切的提醒,您的云服務(wù)器疑似被黑客入侵。請到控制臺查看具體的信息。上服務(wù)器一看,XX,從昨天下午15:00到今天早晨8:00一直暴力訪問,最終還登錄成功了……沒辦法,筆者設(shè)置的密碼過于簡單。 ”
vim /etc/pam.d/system-auth vim /etc/pam.d/ login vim /etc/pam.d/sshd
上面三個文件中的第二行添加這行配置
auth required pam_tally2.so onerr=fail deny=3 unlock_time=30 even_deny_root root_unlock_time=100
pam_tally2.so 一個安全模塊
deny 輸入錯誤的次數(shù)
unlock_time 到達(dá)次數(shù)上限以后鎖定賬戶30秒
even_deny_root root賬戶也是該次數(shù),可以自己指定
root_unlock_time 次數(shù)上限以后,鎖定100秒
此時這個pam_tally2
安全模塊就設(shè)置成功了
當(dāng)輸入超過設(shè)置的次數(shù)以后就會提示該賬戶已經(jīng)被鎖定,輸入正確的密碼也不能登錄
查看被鎖定的賬戶
pam_tally2 查看被鎖定的用戶 pam_tally2 --reset -u username 將被鎖定的用戶解鎖
最好可以有一個啟動服務(wù)的賬戶,僅僅給予其執(zhí)行的權(quán)限
密碼!密碼!密碼
一定要復(fù)雜,不然暴力破解很簡單。想想自己的密碼,心中麻麻批。最后設(shè)置了一個18位的密碼。再給我暴力破解??浚?/p>
★最壞的情況:和筆者一樣,被暴力破解了。 ”
top # 查詢CPU的執(zhí)行情況,看看有沒有什么不熟悉的應(yīng)用執(zhí)行,防止木馬,有木馬查看其名字,先殺在刪 grep -o "Failed password" /var/log/secure | uniq -c #查看被暴力攻擊的次數(shù) grep "Failed password" /var/log/secure |head -1 #獲取第一條暴力攻擊的時間 grep "Failed password" /var/log/secure |tail -1 #獲取最后一條暴力攻擊的時間 #到這里你就知道此人的攻擊時間和IP了 # 這個是查詢所有進(jìn)行暴力的IP。一串正則……腦殼痛 grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c | sort -nr # 查看所有被暴力的用戶名 grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
如果你發(fā)現(xiàn)他登錄成功了
# 查詢登錄成功的用戶,然后根據(jù)時間,看看使用哪一個賬戶登錄的,這個也可以作為你看他是不是有木馬的依據(jù),以這個被入侵的用戶為條件搜索 grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'# 登錄成功的IP grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
云浪科技11年互聯(lián)網(wǎng)服務(wù)品牌,可為您提供高端網(wǎng)站建設(shè)、小程序開發(fā)、app開發(fā)、軟件開發(fā)、域名注冊、云服務(wù)器開通、企業(yè)郵箱開通、ICP備案等服務(wù),已為上千家用戶竭誠服務(wù),期待與您合作。