问题描述 CentOS7上面运行的项目,在用户管理添加新用户时,密码设置成Aa12345@时,会报Cannot read property 'message' of undefined的错误 问题出现的环境背景及自己尝试过哪些方法 在/etc/pam.d下的common-password文件中 password [success ok] pam_cracklib.so rejectusername minlen=8 difok=3 ucredit=0 lcredit=0 dcredit=0 ocredit=0 相关代码 相关代码如下: ``` c++ inline int pamUpdatePassword(const std::string& username, const std::string& password) { // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) const struct pam_conv localConversation = {pamFunctionConversation,const_cast(password.c_str())}; pam_handle_t* localAuthHandle = nullptr; // this gets set by pam_start int retval = pam_start("webserver", username.c_str(), &localConversation, &localAuthHandle); if (retval != PAM_SUCCESS) { return retval; } retval = pam_chauthtok(localAuthHandle, PAM_SILENT); if (retval != PAM_SUCCESS) { pam_end(localAuthHandle, PAM_SUCCESS); return retval; } return pam_end(localAuthHandle, PAM_SUCCESS); } ``` 你期待的结果是什么?实际看到的错误信息又是什么? 密码设置成Aa12345@时,pam_chauthtok()函数返回PAM_AUTHTOK_ERR,如果密码设置成Bji230309@时,返回PAM_SUCCESS(正常的),为什么将密码设置成Aa12345@不行,大家有遇到过嘛?