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