OpenEuler多分区加密

在 openEuler 系统中,如果你需要对已经存在的 /dev/mapper/openeuler-data/dev/mapper/openeuler-appdata 这两个分区进行加密,步骤如下:

1. 准备工作

请注意,加密会清空分区内的数据。因此,在操作前必须备份所有重要数据。以下操作会覆盖分区的数据。

2. 安装 cryptsetup

确保系统安装了加密工具 cryptsetup

bash复制代码sudo dnf install cryptsetup

3. 加密现有分区

要对现有的 /dev/mapper/openeuler-data/dev/mapper/openeuler-appdata 分区进行加密,执行以下步骤:

  1. 加密分区:bash复制代码sudo
  2. cryptsetup luksFormat /dev/mapper/openeuler-data
  3. cryptsetup luksFormat /dev/mapper/openeuler-appdata 输入并确认加密密码。请牢记此密码,因为它是解密分区的唯一方式。
  4. 打开加密卷:bash复制代码sudo
  5. cryptsetup open /dev/mapper/openeuler-data encrypted_data
  6. cryptsetup open /dev/mapper/openeuler-appdata encrypted_appdata

4. 创建文件系统

在加密卷上创建新的文件系统(如 ext4):

bash复制代码sudo 
mkfs.ext4 /dev/mapper/encrypted_data
mkfs.ext4 /dev/mapper/encrypted_appdata

5. 挂载文件系统

创建挂载点并挂载卷:

bash复制代码sudo 
mkdir -p /data
mkdir -p /appdata

mount /dev/mapper/encrypted_data /data
mount /dev/mapper/encrypted_appdata /appdata

6. 配置开机自动挂载(可选)

编辑 /etc/crypttab,以便开机自动解密卷:

plaintext复制代码
encrypted_data /dev/mapper/openeuler-data none luks
encrypted_appdata /dev/mapper/openeuler-appdata none luks

编辑 /etc/fstab,以便开机自动挂载:

plaintext复制代码
/dev/mapper/encrypted_data /data ext4 defaults 0 2
/dev/mapper/encrypted_appdata /appdata ext4 defaults 0 2

7. 检查配置

验证挂载和解密配置是否正常:

bash复制代码df -h

OpenEuler配置加密分区在开机时自动解锁,通常需要使用密钥文件来实现:

1. 创建密钥文件

首先,创建一个密钥文件,该文件将用于解锁加密分区。

bash复制代码sudo 
dd if=/dev/urandom of=/root/crypt_keyfile bs=1024 count=4
chmod 0400 /root/crypt_keyfile

2. 将密钥文件添加到 LUKS 加密分区

将密钥文件添加到加密分区以允许它用于解锁:

bash复制代码sudo 
cryptsetup luksAddKey /dev/mapper/openeuler-data /root/crypt_keyfile
cryptsetup luksAddKey /dev/mapper/openeuler-appdata /root/crypt_keyfile

系统会要求输入之前设置的密码。

3. 配置 /etc/crypttab

编辑 /etc/crypttab 文件,将密钥文件的路径添加到相应的条目中:

bash复制代码sudo 
nano /etc/crypttab

将原有的行更改为:

plaintext复制代码
encrypted_data /dev/mapper/openeuler-data /root/crypt_keyfile luks
encrypted_appdata /dev/mapper/openeuler-appdata /root/crypt_keyfile luks

4. 配置 /etc/fstab

确认 /etc/fstab 文件中的挂载点设置是正确的,这里假设你已经设置好自动挂载。如果需要,确认没有错误并保存:

bash复制代码sudo 
nano /etc/fstab

确保包含以下行:

plaintext复制代码
/dev/mapper/encrypted_data /data ext4 defaults 0 2
/dev/mapper/encrypted_appdata /appdata ext4 defaults 0 2

5. 更新 initramfs

为了确保更改在启动时生效,更新 initramfs(初始文件系统映像):

bash复制代码sudo dracut -v -f

6. 重启系统

重启计算机以验证配置是否成功:

bash复制代码sudo reboot

7. 检查挂载情况

系统重启后,使用以下命令检查挂载点是否正常工作:

bash复制代码df -h

如果配置正确,系统将能够在启动时自动解锁加密分区,而无需手动输入密码。

使用 UUID 来指定加密分区

获取 UUID

首先,你需要获取加密分区的 UUID。可以使用 blkid 命令查看分区信息:

bash复制代码sudo 
blkid

这会列出所有分区及其 UUID,例如:

plaintext复制代码
/dev/mapper/openeuler-data: UUID="abc12345-6789-0abc-def0-123456789abc" TYPE="ext4"
/dev/mapper/openeuler-appdata: UUID="def12345-6789-0abc-def0-123456789def" TYPE="ext4"

使用 UUID 配置 /etc/crypttab

获取 UUID 后,可以在 /etc/crypttab 中使用 UUID 来配置自动解锁。编辑 /etc/crypttab

bash复制代码sudo 
nano /etc/crypttab

将原有的条目更改为使用 UUID:

plaintext复制代码
encrypted_data UUID=abc12345-6789-0abc-def0-123456789abc /root/crypt_keyfile luks
encrypted_appdata UUID=def12345-6789-0abc-def0-123456789def /root/crypt_keyfile luks

继续后续步骤

之后,你仍然需要继续进行 /etc/fstab 的设置和更新 initramfs 的步骤。使用 UUID 不会影响这些步骤,确保在 fstab 中也使用相应的 UUID 来挂载逻辑卷:

bash复制代码sudo 
nano /etc/fstab

可以使用类似以下的方式在 fstab 中挂载加密分区:

plaintext复制代码
/dev/mapper/encrypted_data /data ext4 defaults 0 2
/dev/mapper/encrypted_appdata /appdata ext4 defaults 0 2

重启验证

完成所有配置后,重启系统,确保加密分区能成功自动解锁并挂载。使用 df -h 命令来确认挂载状态。这样,你就可以确保系统在启动时自动解锁加密分区,无需手动输入密码。

dracut -v -f


已发布

分类

,

来自

标签:

评论

《 “OpenEuler多分区加密” 》 有 3 条评论

  1. yxbinghe 的头像

    cryptsetup luksDump /dev/mapper/openeuler-data

  2. yxbinghe 的头像

    deepin

    更新initramfs

    为了确保系统能够在启动时访问 目录中的密钥文件,更新 initramfs:

    sudo update-initramfs -u

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注