1. 程式人生 > >系統分割槽管理 加密

系統分割槽管理 加密

這一週學的內容 整體上感覺難度上去了 比較複雜也比較細節

先說分割槽管理把 這裡我們要建立一個用於交換的swap分割槽 首先fdisk 建立一個普通分割槽

接下來t 改變分割槽標籤為swap  可以兩下tab檢視標籤號對應的標籤

p 檢視 成功後wq退出儲存

然後我們要給新建立的swap分割槽做上對應型別的檔案系統 使用命令mkswap + 分割槽

成功之後可以blkid 檢視到 說明已經建立好 且可以被投入使用

我這裡直接編輯/etc/fstab 永久掛載

寫入格式:   裝置     +     掛載點     +     檔案系統格式    +    掛載方式(預設defaults) +     0(不備份)     +     0(不檢查)

當系統中裝置被佔滿時 也可以使用檔案的形式來建立和掛載swap

那麼首先需要建立一個大檔案 使用 dd if=/dev/zero  of=/swapfile bs=1M  count=1000 copy一個1G的裝置檔案出來

然後同樣做上檔案系統 然後掛載就可以

之後我為了環境單純 刪掉這個檔案格式的swap以及先頭分割槽格式的swap

然後做分割槽配額的時候 這裡可能漏截圖了幾張圖 總之就是在掛載的時候 要加 mount -o usrquota + 裝置 啟用分配配額的這個引數

然後使用edquota -u +使用者為使用者分配配額

要永久啟用配額 也是要修改/etc/fstab 在掛載方式也就是defaults後面加  ,usrquota  就可以了

接下來則是修改分割槽方式 也就是修改裝置標籤為gpt 因為預設的dos分割槽模式 分割槽最大支援2TB 而gpt的分割槽模式則支援最大18EB的分割槽 

而且dos分割槽的話 最多有4個主分割槽 一般都是3個主分割槽然後第四個做成邏輯分割槽 而gpt的分割槽方式則沒有這些限制 最大支援128個分割槽

那麼要改成gpt的分割槽格式 使用parted +裝置

然後mklabel 然後gpt

成功之後fdisk -l 就可以看到vdb的label變成了gpt

然後我們fdisk建立一個新的分割槽 準備做加密分割槽

建立好之後 使用cryptsetup luksFormat + 建立好的分割槽 進行加密

然後我們再加密的基礎上 給他做上檔案系統 

因為如果加密系統在檔案系統的上層 那麼一旦加密出現了問題 這個分割槽就變成了一個只是覆蓋了檔案系統的分割槽 裡面的東西誰都能通過沒出問題的

檔案系統看到  而如果加密在底層 如果他要破話加密層 那麼檔案系統層也會出問題 他還是看不到 這樣的安全性比加密層在上層高很多 

所以我們建立好分割槽之後先在底層做一層加密 再覆蓋檔案系統

加好密之後 我們使用cryptsetup open + 裝置 + 開啟之後的名字(可任意)來開啟加密的分割槽

這裡要輸入加密時的密碼 這個密碼一定要儲存好 一旦丟失就沒有辦法了 只能格式化掉分割槽了 裡面的資料就都沒了

開啟之後 使用mkfs.xfs + /dev/mapper/開啟之後的名字 給這個開啟之後生成在/dev/mapper/下的東西給他做上檔案系統 而不是給加密分割槽做檔案系統

做好之後就可以掛載這個/dev/mapper/下的解密過之後的分割槽了 我們掛上去然後touch 建立幾個檔案模擬資料

用完之後解除安裝 umount 然後close 這個生成的解密後的分割槽就消失了 要看分割槽中的內容 只能使用密碼open 然後掛載上

才能看到

然後我們想這個加密分割槽開機自動掛載的話 首先 vim /etc/fstable 把他加進去 這裡我這個圖是錯誤做法 應該寫/dev/mapper/westos 因為我們真正掛載的

是這個解密後的東西 那個加密分割槽/dev/vdb1 其實是不能直接掛上去的 當時我這樣做之後reboot之後系統直接就起不來了 起來之後找到問題改好之後圖

忘了截 

然後我們寫一個密碼檔案 裡面就記錄加密和解密的密碼 什麼其他的都不寫 我這裡是在/root/下面寫了一個叫passfile的檔案 裡面存著我加密分割槽的密碼

為了安全我給這個密碼檔案許可權 600 只有root可讀可寫 其他人0許可權

然後我們還需要系統在啟動並掛載之前讀這個檔案 來取出其中的密碼 這時候我們要編輯 /etc/crypttable 這個檔案 告訴他我們的加密裝置 解密之後叫什麼

加密裝置在哪裡 以及加解密的密碼存放在哪裡

所以crypttable 這個檔案裡面的格式是

解密之後名字(westos)                            加密裝置本體(/dev/vdb1)                        密碼檔案存放位置(/root/passfile)

這些全都做好之後 我們還要建立這個密碼檔案和裝置之間的聯絡 讓系統知道/root/passfile就是/dev/vdb1的鑰匙

使用cryptsetup luksAddKey + 加密裝置本體 + 密碼檔案路徑

這時我們要輸入密碼 

一切都做好以後 我們reboot重啟 就發現這個加密分割槽已經自動掛載在 /westos 下了 裡面的資料也是沒問題的 效果如下