是否可以将特定插槽的 LUKS 密钥设置为用户密码?因此,如果用户bob
密码为,12345
我想将插槽#2 设置为12345
。
我知道我可以使用来设置特定插槽的密钥cryptsetup luksAddKey /dev/sda5 -S 2
,但是如何获取用户的密码?
答案1
基本上你有两个选择:
- 查询 LDAP 服务器以获取登录用户的当前密码
- 使用 ecryptfs 加密你的主目录并与 pam 交互
选项 1.) 会给你带来混乱的 crypttab 脚本和配置设置,并且需要将整个身份验证方案切换到 LDAP
2.) 是当前 Linux 发行版中加密主目录的最常见方式,但会迫使你放弃 LUKS
答案2
我认为https://github.com/google/pam-cryptsetup可以做你想做的事。
编辑:+你可以仅使用 systemd 和 PAM 即可实现相同目的
答案3
没有办法获取用户的密码(但您可以使用像 john the ripper 这样的工具来尝试猜测密码,但如果密码很好,您的努力就白费了)。唯一可能可靠的方法是,如果 LUKS 可以使用与 中相同的哈希算法/etc/shadow
(我不知道是否可以),如果可以,请找到一种方法将其放入 LUKS 标头中的正确位置。