搜尋此網誌

磁碟的加密與解密


對磁碟加密流程
 開頭先fdisk,切割出欲加密的磁區大小,範例為6
    1  cryptsetup luksFormat /dev/vda6   產生金鑰
    2  ls -l /etc/crypttab      這是專屬金鑰的開機表就像/etc/fstab一樣,可以寫開機自動掛載
    3  cat /etc/crypttab       讀一下裡面的內容
    4  echo 'secret /dev/vda6 /root/encdisk' >> /etc/crypttab  
        格式為  name  加密磁碟  密碼存放路徑
    5  cat /etc/crypttab       讀一下裡面的內容,看是否正確
    6  ls -l /root/encdisk     
    7  echo 'testing123' > /root/encdisk    將密碼寫進這個目錄,並產生檔案
    8  cat /root/encdisk       讀一下裡面的內容,看是否正確
    9  echo -n 'testing123' > /root/encdisk   
 剛剛輸入的密碼其實後面還會帶個空格,這樣在開機掛載的時候是會出錯的,所以在寫一遍,這裡的-n非常重要
   10  cat -A /root/encdisk  
   11  ll /root/encdisk
   12  chmod 600 /root/encdisk -v   將權限改成只有管理者才能讀的到
   13  clear
   14  ls -l /dev/mapper/secret       
 剛剛第4行我們的名字取為secret,所以會在/dev/mapper/底下產生一個secret的磁碟,現在是看不到的,因為被加密了
   15  cryptsetup luksOpen /dev/vda6 secret 手動開啟加密的secret目錄,會要求輸入密碼
   16  ls -l /dev/mapper/secret        這時候ls就看的到加密的磁碟了
   17  cryptsetup luksClose secret  可以玩一下,手動關閉加密磁碟
   18  ls -l /dev/mapper/secret         這時候ls又看不到加密的磁碟了
   19  cryptsetup luksOpen /dev/vda6 secret 因為接下來要做格式化,所以必須先打開
   20  ls -l /dev/mapper/secret
   21 mkfs.ext4 /dev/mapper/secret  磁碟格式格成ext4
   22  ls /test                             因為磁碟是需要掛載目錄的,先看看根底下是否有個test目錄
   23  mkdir /test                       產生test目錄
   24  blkid | grep --color secret   blikd是可以查出硬碟UUID的號碼,grep針對secret


*這裡要非常注意,如果只輸入blkid的時候會列出所有磁碟的UUID,假設是在針對/dev/sda6
做加密磁碟,這裡的查找不能blkid | grep --color /dev/vda6,因為vda6 跟 secret 的UUID是不樣的 ! ! !  補充:(在寫進/etc/fstab的格式開頭通常可以以UUID或磁碟機代號,但建議用UUID寫入比較安全,因為如果磁碟機代號因為新稱設備可能會打亂了,開機就會有問題了)
   25  echo 'UUID="10114b5d-4959-48ae-a277-123d20eb4273" /test ext4 defaults 1 2' >> /etc/fstab 寫進/etc/fstab 使他開機掛載
   26  tail -n 1 /etc/fstab 
   27  mount -are
   28  df -HT /test
   29  reboot; df -HT /test

若不甚LAB時無法順利開機,檔案又都被改成唯獨,解決方法如下:
1. df -HT  先查看根掛的磁碟
2. mount -o remount,rw (根掛的磁碟)
3. 再去檢查 /etc/fstab    /root/encdisk(密碼是否有空格)   /etc/crypttab




加密的磁碟卸載


    1  df -HT /test      加密磁碟是掛在/test這個目錄的,先查看一下
    2  umount /test    先從目錄上卸載
    3  df -HT /test      再觀察一下是否卸載成功
    4  cryptsetup luksClose secret    
    5  ls -l /dev/mapper/secret
    6  cryptsetup isLuks /dev/vda6
    7  echo $?            判斷上一個指令是否正確,正確為0,不正確會有數字,這裡會得0
    8  cryptsetup isLuks /dev/vda3
    9  echo $?            這裡會得其他數字,因為vda3並沒有被加密
   10  cryptsetup luksDump /dev/vda6
   11  cryptsetup luksKillSlot /dev/vda6 0
   12  cryptsetup luksDump /dev/vda6
   13  cat -Ab /etc/fstab
   14  sed -i '19d' /etc/fstab (看/etc/fstab當初寫在第幾行,自己更改裡頭數字來刪除,記得+1)
   15  cat /etc/fstab
   16  cat /etc/crypttab            
   17  dd < /dev/null > /etc/crypttab   (抹除/etc/crypttab裡的資料)
   18  cat /etc/crypttab
   19  ll /etc/crypttab
   20  ls -l /etc/fstab
   21  ls -l /etc/mtab
   22  fdisk p d 6 w
   22  cat /proc/partitions 
   36  ls /dev/vda*
   37  partx -d /dev/vda    更新磁碟配置
   38  cat /proc/partitions
   39  ls /dev/vda*



 

Copyright © Jackie.Chen | Powered by Blogger | Template by 54BLOGGER | Fixed by Free Blogger Templates