默认密码哈希算法和 umask 设置的更改

随着 shadow >= 4.14.0,Arch Linux 的默认密码哈希算法已从 SHA512 更改为 yescrypt

此外,umask 设置现在配置在 /etc/login.defs 中,而不是 /etc/profile 中。

这应该不需要任何手动干预。

Yescrypt 的原因

选择基于密码的密钥派生函数 (KDF) 和密码哈希方案 yescrypt 是因为它已被采用(在 libxcrypt 中 readily available,libxcryptpam 使用)并且它比 SHA512 更能抵抗密码破解尝试。

尽管 密码哈希竞赛 的获胜者是 argon2,但该算法在 libxcrypt 中尚不可用 (第一次尝试, 第二次尝试)。

配置 yescrypt

`/etc/login.defs` 中的 `YESCRYPT_COST_FACTOR` 设置目前无效,直到 pam 实现读取其值。如果需要高于(或低于)默认值 (`5`) 的 `YESCRYPT_COST_FACTOR`,可以使用 `pam_unix` 模块的 `rounds` 选项进行设置(即在 `/etc/pam.d/system-auth` 中)。

更改的通用列表

  • yescrypt 被用作默认密码哈希算法,而不是 SHA512
  • pam 遵循 `/etc/login.defs` 中选择的 `ENCRYPT_METHOD`,并且不再覆盖选择的方法
  • filesystem (>= `2023.09.18`) 和 pambase (>= `20230918`) 软件包中的更改确保 `umask` 集中设置在 `/etc/login.defs` 中,而不是 `/etc/profile` 中