我正在尝试使用 webmin 中的 pwqcheck(passwdq 的一部分)执行密码质量检查。
不幸的是,当我在“用户和组”模块设置中将“外部密码检查程序”设置为与 samba 相同的值时check password script
:
/usr/bin/pwqcheck -1
当我尝试创建用户(名为test-user
)时出现以下错误:
Failed to save user : pwqcheck: Error parsing parameter "test-user": Invalid parameter
所以,如何配置 Webmin 和 pwqcheck?
答案1
这是由两个相关问题引起的。
Webmin 允许设置如何将密码和登录信息传递给应用程序(作为参数或标准输入)。这是选项Pass username and password to program
。这就是 OP 中提到的错误的主要原因。
不幸的是,无法指定将信息传递给应用程序的内容和顺序 —— 这是第二个问题 —— 它被硬编码为
$application "$login" "$password"
或以相同顺序传递到标准输入的行。它们都不适合与 一起使用pwqcheck
。但无论使用哪种选项,编写包装器都相当容易。
提供的脚本用于标准输入上的登录名和密码:
#/bin/bash
read login
read password
/usr/bin/pwqcheck -1 <<_EOF_
${password}
_EOF_