LUKS:如何添加更多密码槽(或删除/更改密码)

LUKS:如何添加更多密码槽(或删除/更改密码)

卢克斯提供最多 8 个密码槽(=多个同时有效的密码)。
安装 Linux 时,我遇到了问题

  • 如何添加新密码槽
  • 如何删除密码槽
  • 如何查看有多少个插槽处于活动状态
  • 如何测试密码对于容器/分区是否有效
  • 如何备份 luks 分区的标题(=数据实时保险……)

哪些命令可以帮助我完成这项工作?

答案1

我假设该分区是/dev/sda3
如果您不知道名称,您可以使用列出所有分区lsblk -f

添加新的密码槽:
sudo cryptsetup luksAddKey /dev/sda3

  • 下一个免费密码槽将被使用
  • 首先,它会要求输入一个现有的有效密码,然后您必须输入新密码。
    旧密码仍然有效。

如果你想添加密钥文件(而不是密码),那么
sudo cryptsetup luksAddKey /dev/sda3 MyKeyFile.txt

删除密码槽:

  • 可能性 1:sudo cryptsetup luksRemoveKey /dev/sda3
    => 您必须输入要删除的密码(它会自动找到正确的密码槽)
  • 可能性 2:sudo cryptsetup luksKillSlot /dev/sda3 2
    => 这将删除密码槽 2(您必须输入任何其他密码槽的密码,但不需要输入密码槽 2 的密码
    => 即使您不知道密码槽 2 的密码,此方法也有效
  • 可能性 3:sudo cryptsetup luksRemoveKey --key-file MyKeyFile.txt /dev/sda3
    => 如果密钥文件MyKeyFile.txt有效,则删除它

查看有多少个插槽处于活动状态:
sudo cryptsetup luksDump /dev/sda3
这将输出该分区的所有 luks 设置。

测试该分区的密码是否有效:
sudo cryptsetup open --verbose --test-passphrase /dev/sda3
现在您可以输入密码,它会告诉您密码是否错误或密码属于哪个密码槽。
如果您想测试 KeyFile 是否有效,它的工作原理如下:
sudo cryptsetup open --verbose --test-passphrase --key-file MyKeyFile.txt /dev/sda3

备份 luks 分区的标题:
sudo cryptsetup luksHeaderBackup /dev/sda3 --header-backup-file MyLuksHeader.dat
sudo chmod +r MyLuksHeader.dat
它将创建一个 16MB 的文件。
保存这个文件非常重要。如果文件头损坏,没有备份,所有数据都会丢失!

列出所有加密文件系统:
sudo cat /etc/crypttab

如果您需要更多帮助,可以输入man cryptsetup

相关内容