1

谁能告诉我这个错误是什么意思。什么时候会出现。我尝试谷歌搜索,但没有结果。请指出正确的文档以了解此错误。

4

1 回答 1

1

此错误由 pam_unix 模块中的以下代码触发(来源:Linux-PAM-0.99.5):

if (name == NULL || !isalnum(*name))

name == NULL将由使用 PAM 协议中的程序错误触发,其中用户名变量未设置为 pam 对话的一部分。

第二个原因,也可能是最有趣的原因是用户名的第一个字符必须是字母数字,即该字符必须是A-Za-z中的一个0-9。不接受重音字符。

较新版本的 Linux-PAM(从fedorahosted 的 pam_unix.c 源中可以看出)说:

if (name == NULL || name[0] == '-' || name[0] == '+')

这意味着它只拒绝-and+字符 - 即它没有旧的来源那么严格。

于 2012-06-01T07:52:28.340 回答