SUSE Linux 硬碟加密教學(LUKS 加密)
在 SUSE Linux(openSUSE / SLE)中,常用的磁碟加密方式為 LUKS(Linux Unified Key Setup)。透過 YaST 或命令列工具 cryptsetup
,可以對整個磁碟或特定分割區進行加密,保障資料安全。
目錄
為什麼要加密硬碟?
- 防止未授權存取資料
- 保護筆電、移動式硬碟或伺服器的機密性
- 符合企業或法規要求的資料安全政策
檢查可用磁碟
以 root 執行,使用 lsblk
查看未分割的磁碟或分割區:
lsblk -f
範例輸出:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 1234-ABCD /
└─sda2 swap 5678-EFGH [SWAP]
sdb
└─sdb1
假設要加密 /dev/sdb1
。
使用 YaST 設定磁碟加密
- 啟動 YaST 分割與 LVM 模組:
sudo yast2 storage
- 選擇要加密的分割區(或新增分割區),勾選 加密(Encrypt)選項。
- 設定密碼(Passphrase)並完成分割、檔案系統格式化。
- 確認被加密的分割區會以
cryptlvm
或cryptsetup
方式顯示於掛載設定。 - 完成後,YaST 會自動更新
/etc/crypttab
和fstab
設定,並在開機時提示輸入密碼。
命令列 LUKS 加密流程
若不使用 YaST,可透過 cryptsetup
執行以下步驟:
1. 安裝必要套件
sudo zypper install -y cryptsetup
2. 初始化 LUKS 分割區
sudo cryptsetup luksFormat /dev/sdb1
系統會提示確認並輸入密碼。
3. 開啟加密分割區
sudo cryptsetup open /dev/sdb1 encrypted_data
此時會在 /dev/mapper/encrypted_data
出現解密裝置。
格式化與掛載加密分割區
1. 格式化(使用 ext4 範例)
sudo mkfs.ext4 /dev/mapper/encrypted_data
2. 掛載
sudo mkdir -p /mnt/secure
sudo mount /dev/mapper/encrypted_data /mnt/secure
3. 確認掛載
mount | grep secure
開機自動解密與掛載
1. 編輯 /etc/crypttab
新增一行,格式:
encrypted_data /dev/sdb1 none luks
2. 編輯 /etc/fstab
新增掛載點:
/dev/mapper/encrypted_data /mnt/secure ext4 defaults 0 2
3. 更新 initramfs
sudo mkinitrd
重啟後系統會在開機階段提示輸入加密分割區密碼,之後自動掛載。
解除加密並回復分割區
若要移除加密並清除 LUKS header(警告:資料將無法復原):
# 1. 解除掛載
sudo umount /mnt/secure
# 2. 關閉加密裝置
sudo cryptsetup close encrypted_data
# 3. 清除所有簽章
sudo wipefs --all /dev/sdb1
完成後即可重新建立分割區與檔案系統。
結語
SUSE Linux 使用與 Fedora 相同的 LUKS 技術進行硬碟加密,並藉由 YaST 或 cryptsetup
工具提供圖形與命令列兩種設定方式。透過以上步驟,您可以輕鬆加密、解密、掛載並管理 SUSE 上的安全分割區,確保資料安全。