如何安全地通过 puppet 禁用用户密码?

pho*_*ops 7 linux password user-management puppet

我已将 SSH 服务器设置为仅使用公钥身份验证并禁用密码身份验证。

通过 puppet 添加用户时,我想禁用用户密码。

到目前为止,我已经想出了这个,这似乎有效,但我不确定这有多安全:

user { 'john':
    ensure     => 'present',
    comment    => 'John Smith',
    groups     => ['adm','sudo','wheel','users'],
    home       => '/home/john',
    managehome => true,
    shell      => '/bin/bash',
    password   => '*',
}
Run Code Online (Sandbox Code Playgroud)

使用password => '*'定义是否可以安全地禁用用户密码?

use*_*517 8

阴影(5)手册页说:

如果密码字段包含一些不是 crypt(3) 的有效结果的字符串,例如!或*,用户将无法使用unix密码登录(但用户可以通过其他方式登录系统)。

所以是的,使用*. 的!加密的密码的第一个字符被用于通过一个passwd的(1),以指示一个口令被锁定(passwd -l),并且这可以被解锁(passwd -u)。