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