據(jù)不完全統(tǒng)計(jì),Linux系統(tǒng)在數(shù)據(jù)中心操作系統(tǒng)上的份額高達(dá)70%。它一般運(yùn)行于服務(wù)器和超級(jí)計(jì)算機(jī)上。
所以我們?nèi)粘TL問(wèn)的網(wǎng)站后臺(tái)和app后端都是部署在Linux服務(wù)器上的,如果你不會(huì)Linux系統(tǒng)操作,那么很多大廠服務(wù)器安全你將無(wú)法進(jìn)行加固操作和滲透測(cè)試。
那我們?cè)撊绾螌W(xué)習(xí)Linux系統(tǒng)?
首先要選擇一個(gè)Linux發(fā)行的版本,rehat紅帽可以作為初學(xué)者一個(gè)很好的入門(mén)Linux操作系統(tǒng)發(fā)行版本,正版紅帽需要授權(quán),如果你作為學(xué)生經(jīng)費(fèi)有限,那你可以選擇centos系統(tǒng),目前有centos7和8,本人建議可以從centos7系統(tǒng)入門(mén),該版本網(wǎng)上教程很多,便于初學(xué)者完成各種系統(tǒng)操作和服務(wù)搭建。
在安裝Linux操作系統(tǒng)的時(shí)候,會(huì)有圖形界面模式和終端命令模式,個(gè)人建議初學(xué)者,不要安裝圖形界面模式,圖形界面就像你的windows桌面操作系統(tǒng)一樣,靠鼠標(biāo)點(diǎn)擊執(zhí)行各種指令,這樣會(huì)造成你對(duì)圖形界面操作系統(tǒng)的一種依賴(lài),而我們生產(chǎn)環(huán)境是沒(méi)有圖形界面的。所以從一開(kāi)始我們就得養(yǎng)成一種終端命令行操作模式。
Linux入門(mén)必學(xué)
1、基礎(chǔ)命令
ls 展示文件夾內(nèi)容,在Linux里面你想查看當(dāng)前目錄內(nèi)容,必須使用這個(gè)命令,這點(diǎn)和windows有比較大的區(qū)別,windows點(diǎn)擊某個(gè)目錄之后,自動(dòng)會(huì)顯示當(dāng)前目錄內(nèi)容,而Linux不會(huì)。
>-a :全部的檔案,連同隱藏檔( 開(kāi)頭為 . 的檔案) 一起列出來(lái)~ >-A :全部的檔案,連同隱藏檔,但不包括 . 與 .. 這兩個(gè)目錄,一起列出來(lái)~ >-d :僅列出目錄本身,而不是列出目錄內(nèi)的檔案數(shù)據(jù) >-f :直接列出結(jié)果,而不進(jìn)行排序 (ls 預(yù)設(shè)會(huì)以檔名排序!) >-F :根據(jù)檔案、目錄等信息,給予附加數(shù)據(jù)結(jié)構(gòu),例如: >*:代表可執(zhí)行檔; /:代表目錄; =:代表 socket 檔案; |:代表 FIFO 檔案; >-h :將檔案容量以人類(lèi)較易讀的方式(例如 GB, KB 等等)列出來(lái); >-i :列出 inode 位置,而非列出檔案屬性; >-l :長(zhǎng)數(shù)據(jù)串行出,包含檔案的屬性等等數(shù)據(jù); >-n :列出 UID 與 GID 而非使用者與群組的名稱(chēng) (UID與GID會(huì)在賬號(hào)管理提到!) >-r :將排序結(jié)果反向輸出,例如:原本檔名由小到大,反向則為由大到小; >-R :連同子目錄內(nèi)容一起列出來(lái); >-S :以檔案容量大小排序! >-t :依時(shí)間排序 >--color=never :不要依據(jù)檔案特性給予顏色顯示; >--color=always :顯示顏色 >--color=auto :讓系統(tǒng)自行依據(jù)設(shè)定來(lái)判斷是否給予顏色 >--full-time :以完整時(shí)間模式 (包含年、月、日、時(shí)、分) 輸出 >--time={atime,ctime} :輸出 access 時(shí)間或 改變權(quán)限屬性時(shí)間 (ctime) >而非內(nèi)容變更時(shí)間 (modification time)
cd 切換目錄
cd /home 切換到根目錄(/)下的home目錄,相當(dāng)于你在windwos點(diǎn)擊某個(gè)文件夾。
pwd 查看當(dāng)前路徑
如果你你使用cd命令進(jìn)入了很多層路徑,不知道當(dāng)前目錄在哪里,那你可以是用pwd命令查看當(dāng)前在哪個(gè)具體的絕對(duì)路徑。
cp 復(fù)制
>-a :將文件的特性一起復(fù)制>-p :連同文件的屬性一起復(fù)制,而非使用默認(rèn)方式,與-a相似,常用于備份>-i :若目標(biāo)文件已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢(xún)問(wèn)操作的進(jìn)行>-r :遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為>-u :目標(biāo)文件與源文件有差異時(shí)才會(huì)復(fù)制
cp /home/zc.txt / 該命令含義為將home目錄下的zc.txt文件復(fù)制到根目錄下面。
mv 移動(dòng)文件 它相當(dāng)于我們windows里面的剪切,而且它還有重命名的作用
>-f :force強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢(xún)問(wèn)而直接覆蓋>-i :若目標(biāo)文件已經(jīng)存在,就會(huì)詢(xún)問(wèn)是否覆蓋>-u :若目標(biāo)文件已經(jīng)存在,且比目標(biāo)文件新,才會(huì)更新
像上面我舉例到的Linux基礎(chǔ)命令還有很多,我這里列出來(lái),如果你不知道它具體用法可以使用 命令 --help 的方式查看某個(gè)命令的具體使用方法,如果還要查看更詳細(xì)舉例說(shuō)明可以使用 man 某命令 的方法顯示出它具體的使用說(shuō)明。
mkdir,rmdir,rm,tar,gzip,ps,kill,killall,crontab,tree,free,top,chmod, chown,chgrp,useradd,usermod,userdel,groupadd,groupdel,sudo,passwd,groups,vi/vim,cat,more,less, tail,head,diff,ping,ssh,scp.telnet等
2、Lnux網(wǎng)絡(luò)的學(xué)習(xí)
學(xué)習(xí)完基礎(chǔ)Linux 命令以后,那你還得了解Linux網(wǎng)絡(luò)配置,例如Linux的ip地址靜態(tài)和動(dòng)態(tài)配置,新增網(wǎng)卡后的ip配置,dns的配置,靜態(tài)路由的配置,流量轉(zhuǎn)發(fā)的配置等。
3、Linux服務(wù)的學(xué)習(xí)
在Linux系統(tǒng)上可以搭建很多服務(wù),大部分常用的服務(wù)我們得學(xué)會(huì)搭建,因?yàn)長(zhǎng)inux服務(wù)的安全也是我們必須關(guān)注的重點(diǎn),像nginx,apache,mysql,redis,防火墻配置,F(xiàn)TP服務(wù),samba服務(wù),zabbix,crontab,dhcp,dns,stmp等,這些服務(wù)你首先會(huì)搭建,才能知道配置哪里可能會(huì)出現(xiàn)安全問(wèn)題。
4、Linux服務(wù)器的加固
像學(xué)習(xí)了一些Linux服務(wù)配置以后,我們得學(xué)會(huì)如何去加固我們得linux服務(wù)器,
例如:ssh服務(wù)我們一般使用得端口是22
那我們可以將默認(rèn)端口可以改成2000--65535中得某個(gè),讓別人在掃描我們服務(wù)器得時(shí)候,不容易發(fā)現(xiàn)ssh端口。
ssh遠(yuǎn)程登錄也要禁止root登錄,使用普通用戶(hù)登錄再切換到超級(jí)用戶(hù)。
ssh的密碼得使用pam統(tǒng)一認(rèn)證規(guī)則,密碼得用強(qiáng)密,而且得有密碼輸錯(cuò)3次,等待時(shí)間才能再次輸入。