Linux下磁盤加密luks使用


使用luks加密磁盤,磁盤需要映射才可以掛載,映射的時候需要輸入密碼驗證。luks相對於是對硬盤上了一把鎖,要想打開就得有相應的鑰匙,如果打開了就可以隨意操作了,和普通硬盤一樣。

使用方法如下:

0、分區   創建一個磁盤分區/dev/sdb1,不進行格式化  

[root@localhost]#fdisk /dev/sdb1  

顯示當前分區信息   Command (m for help):p  

刪除分區   Command (m for help):d  

開始分區   Command (m for help):n  

  Command action     e   extended     p   primary partition (1-4)   p  

  Partition number (1-4): 1  

  First sector (1-104865, default 1): 回車  

  Last sector, +sectors +size{M,K,G} (1-104865, default 104865): 回車  

  保存退出   wq  

 1、加密分區  

[root@localhost]# cryptsetup -v -y -c aes-cbc-plain luksFormat /dev/sdb1    

  WARNING!    

  ========    

  This will overwrite data on /dev/sdb1 irrevocably.    

  Are you sure? (Type uppercase yes): YES  --> 注意:這里必須是大寫的YES  

  Enter LUKS passphrase:  

  Verify passphrase:   Command successful.

 2、映射分區  

[root@localhost]# cryptsetup luksOpen /dev/sdb1 sx_disk  //把sdb1映射為sx_disk   

  Enter passphrase for /dev/sdb1:  

[root@localhost]# ll -d /dev/mapper/sx_disk   

  lrwxrwxrwx. 1 root root 7  6月 25 03:24 /dev/mapper/sx_disk -> ../dm-0   //查看

[root@localhost]# cryptsetup status /dev/mapper/sx_disk //查看映射分區狀態  

  /dev/mapper/

  /dev/mapper/sx_disk is active.   

  type:  LUKS1   cipher:  aes-cbc-plain  

  keysize: 256 bits   device:  /dev/sdb1   

  offset:  4096 sectors   

  size:    16767701 sectors   

  mode:    read/write

 3、掛載使用  

[root@localhost]# mkdir /mnt/sx_disk  

[root@localhost]# mkfs.ext3 /dev/mapper/sx_disk  

[root@localhost]# mount /dev/sdb1 /mnt/sx_disk/   //直接掛載是不可以的   

  mount: unknown filesystem type 'crypto_LUKS'  

[root@localhost]# mount /dev/mapper/sx_disk /mnt/sx_disk/ //掛載映射設備,掛載成功

 4、設置開機自動掛載   生成密鑰文件,www.linuxidc.com 如果想開機時手動輸入密碼可以不生成  

[root@localhost]# touch /root/cryptpasswd  

[root@localhost]# cryptsetup luksAddKey /dev/sdb1 /root/cryptpasswd    

  Enter any passphrase:  

[root@localhost]# cat /root/cryptpasswd  //直接查看密鑰為空

 5、設置開機自動解密  

[root@localhost]# vim /etc/crypttab  

[root@localhost]# cat /etc/crypttab  

  sx_disk /dev/sdb1 /root/cryptpasswd   //sx_disk為映射名稱,/dev/sdb1是加密設備設備,/root/cryptpasswd為密碼文件,如果想開機手動輸入密碼,密碼文件處空着即可  

[root@localhost]# vim /etc/fstab  

[root@localhost]# tail -1 /etc/fstab  

   /dev/mapper/sx_disk       /mnt/sx_disk             ext4 defaults   0 0

 6、程序設置開機啟動,在/etc/rc.local里面添加下面內容  

[root@localhost]vim /etc/rc.local   /bin/bash "程序路徑"  

 7、關閉映射,先卸載后關閉,注意:卸載后開機不會自己加載密碼解鎖的,這項在項目中不使用。   需要先退出目錄  

[root@localhost]# cd /root  

[root@localhost]# umount /mnt/sx_disk/  

[root@localhost]# cryptsetup luksClose sx_disk  //關閉映射  

[root@localhost]# ll /dev/mapper/  //映射設備已經不見了

  總用量 0   crw-rw----. 1 root root 10, 58  6月 25 03:01 control

 8、禁止進入單用戶模式   給grub加個密碼,增禁止他人以單用戶模式進入系統. 有2個方式:   vim /boot/grub/grub.conf  或者  vim /etc/grub.conf(/etc/grub.conf是/boot/grub/grub.conf的符號鏈接),

1、明文方式:在splashimage這個參數下一行添加: password=密碼。

   保存后重新啟動計算機,再次登錄到GRUB菜單頁面的時候就會發現,這時已經不能直接使用e命令編輯啟動標簽了,須先使用p命令,輸入正確的密碼后才能夠對啟動標簽進行編輯.    

   我們設置了明文密碼也不是很安全的,如果他人得到了明文密碼后仍然可以修改GRUB啟動標簽從而修改root密碼。

2、MD5加密方式:在終端中輸入grub-md5-crypt回車,這時系統會要求輸入兩次相同的密碼,之后系統便會輸出MD5碼。  

   大家只需要將生成的MD5密文復制下來,在splashimage這個參數下一行添加: password --md5 MD5密文比如:              

   #grub-md5-crypt     

         splashimage=(hd0,0)/grub/splash.xpm.gz                 

   password --md5 $1$xI6vS$Wi5pi8JyORUNnj3/0Yq2/0                 

         hiddenmenu   

        保存后重新啟動計算機,再次登錄到GRUB菜單頁面的時候就會發現,這時已經不能直接使用e命令編輯啟動標簽了,須先使用p命令,輸入正確的密碼后才能夠對啟動標簽進行編輯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM