如何更改加密 LVM 系统的密码(以前是备用安装,现在是高级功能)?

Fil*_*ntu 86 encryption lvm password luks cryptsetup

我使用备用CD安装了 Ubuntu 11.10,并使用加密的 LVM 加密了整个系统(引导除外)。2020 年更新:可以在 Ubuntu 安装的安装类型步骤中选择加密 LVM ,单击高级功能并选择使用 LVM加密...

一切正常,但我想更改加密 LVM 的密码。我试图按照这个的提示和技巧的文章,但它不工作。键入后:

sudo cryptsetup luksDump /dev/sda5
Run Code Online (Sandbox Code Playgroud)

它说:“设备 /dev/sd5 不存在或访问被拒绝。” 我以为加密分区是/dev/sda5。任何帮助如何更改密码?

Fil*_*ntu 94

使用磁盘应用程序:

Ubuntu 18.04或更新版本中,可以使用(Gnome) Disks。感谢您的提示Greg Lever,点击后我发现了 Greg 提到的内容:
1. 打开 Gnome Disks。
2. 在左侧面板中选择/单击主物理硬盘。
3.点击LUKS加密分区,在本例中是分区3: 截图 Gnome 磁盘
4. 单击编辑图标(齿轮、齿轮)并选择“更改释义”。

或者...使用命令行:

这是在Hamish帮助我意识到我的错字之后对我有用的答案。

警告(对于较旧的Ubuntu 版本,较新的(例如 19.04)应该修复错误,但无论如何要小心):如果您只有一个密钥并在添加另一个密钥之前将其删除,您将在重新启动后使您的磁盘无法访问!这也意味着您之后不能再添加新密钥。 感谢wafflkhaimovmr这些有益的意见。

首先,您需要找出哪个是加密的 LVM 分区,它可能是 sda3,但也可以是 sda5(Ubuntu LVM 上的默认值)、sdX2、...:

cat /etc/crypttab
Run Code Online (Sandbox Code Playgroud)

添加新密码,请使用luksAddKey

sudo cryptsetup luksAddKey /dev/sda3
Run Code Online (Sandbox Code Playgroud)

删除现有密码,请使用luksRemoveKey

sudo cryptsetup luksRemoveKey /dev/sda3
Run Code Online (Sandbox Code Playgroud)

查看加密分区当前使用的槽位

sudo cryptsetup luksDump /dev/sda3
Run Code Online (Sandbox Code Playgroud)

引自本博客。谢谢。

请注意: Flimm 经历过 Ubuntu 的系统键盘布局从 Dvorak 更改为 Qwerty。您看不到正在使用的键盘布局(错误 #1862656),也无法选择显示密码(错误 #1862654)。此外,在被迫等待 60 秒之前,您只能尝试 3 次(错误 #1862660)。感谢flimm的有用评论!

  • 你可以。我测试过了 (6认同)
  • **警告** 这个答案上面应该有一个免责声明,如果您在添加另一个之前删除唯一的密钥,您将在重新启动后使您的磁盘无法访问! (5认同)
  • **警告** 磁盘不仅在重新启动后无法使用,当您删除了最后一个密钥时,而且您也不能在此之后添加新密钥! (3认同)
  • 有插槽 - 我相信其中有八个。每个插槽都是一个解锁选项。如果需要,可以是 8 个密码。 (2认同)
  • 在我这样做之后,由于某种原因,Ubuntu 的系统键盘布局从 Dvorak 更改为 Qwerty。我花了很长时间才弄清楚。这是一个缓慢的过程,因为您无法看到正在使用哪种键盘布局([bug #1862656](https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1862656))并且您无法选择显示密码([bug #1862654](https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1862654))。此外,您只能尝试三次([bug #1862660](https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1862660))。 (2认同)

小智 30

从软件管理器下载“磁盘”。运行。选择您的加密设备分区。单击齿轮图标。选择“更改密码”。就是这样

  • 它是灰色的 (3认同)

Coo*_*kie 19

要查看使用的插槽:

sudo cryptsetup luksDump /dev/sda5
Run Code Online (Sandbox Code Playgroud)

并找出要使用的分区

cat /etc/crypttab
Run Code Online (Sandbox Code Playgroud)

如果它是由 uuid 列出的,请使用

ls -l /dev/disk/by-uuid/{insert your uuid here}
Run Code Online (Sandbox Code Playgroud)

然后使用

sudo cryptsetup luksAddKey /dev/sda5
sudo cryptsetup luksRemoveKey /dev/sda5
Run Code Online (Sandbox Code Playgroud)

或者

sudo cryptsetup luksChangeKey /dev/sda5
Run Code Online (Sandbox Code Playgroud)

为了更快的参考(假设 /etc/crypttab 中只有 1 个条目)

sudo cryptsetup luksAddKey /dev/disk/by-uuid/$(cat /etc/crypttab | sed -e "s|\(.*\) UUID=\(.*\) none.*|\2|g")
sudo cryptsetup luksChangeKey /dev/disk/by-uuid/$(cat /etc/crypttab | sed -e "s|\(.*\) UUID=\(.*\) none.*|\2|g")
Run Code Online (Sandbox Code Playgroud)

  • +1 用于解释当 `cat /etc/crypttab` 列出 uuid 时该怎么做。 (2认同)

jc0*_*0ke 15

没想到我把密码设置得很长,打字很痛苦。我最终使用以下内容将其更改为更易于管理的内容。

sudo cryptsetup luksChangeKey /dev/sda5
Run Code Online (Sandbox Code Playgroud)


Ham*_*ner 7

加密分区很可能正在使用/dev/sda5(注意 sda5 中的 a),这就是您可能需要使用的设备(除非这只是您问题中的一个错字)。

然而,加密设备本身将有另一个名称 - 类似于/dev/mapper/cryptroot. 对于设备名称,您可以:

  • 查看文件/etc/crypttab- 这将包含分区和映射器名称,但仅适用于永久分区
  • 运行mount并查看映射器名称 - 当您通过 USB 插入加密磁盘时,这很有用。(虽然我不确定你是如何找到实际的底层设备名称的)。