使用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命令,輸入正確的密碼后才能夠對啟動標簽進行編輯。