ejabberdctl check_password命令无响应问题咨询
解决ejabberdctl check_password无响应的问题
嘿,我刚好碰到过类似的情况,来给你捋捋这事儿~
首先得明确:ejabberdctl check_password user host password这个命令默认本身就不会在终端输出任何内容,它的验证结果是通过系统退出码来传递的,而不是直接打印true/false。
怎么查看验证结果?
执行完命令后,立刻输入echo $?,就能通过退出码判断结果:
- 退出码为
0→ 密码正确(用户存在且密码匹配) - 退出码不为
0→ 密码错误或者目标用户不存在
如果想要直接输出true/false怎么办?
要是觉得看退出码太麻烦,你可以自己写个简单的shell脚本封装这个命令,比如:
#!/bin/bash if ejabberdctl check_password "$1" "$2" "$3"; then echo "true" else echo "false" fi
把这个脚本保存成check_ejabberd_pass.sh,赋予执行权限chmod +x check_ejabberd_pass.sh,之后就能用./check_ejabberd_pass.sh user host password直接得到清晰的true/false输出了。
需要修改ejabberd配置吗?
其实完全不需要修改ejabberd的核心配置来让原命令输出结果——这个命令的设计就是静默式的,和注册、改密码那些会主动反馈的命令逻辑不同。你提到其他ejabberdctl命令都正常,说明你的配置本身没有问题,不用额外调整。
内容的提问来源于stack exchange,提问作者deusoz
相关产品推荐
相关产品推荐

