1,Mosquitto默认是匿名用户登录,修改成用户登录模式需要修改文件/etc/mosquitto/mosquitto.conf
添加如下:
allow_anonymous false
password_file /etc/mosquitto/pwfile //可以指定自己的文件
2, 添加用户
mosquitto_passwd -c /etc/mosquitto/pwfile xtest //添加用户xtest ,存在有其他用户的情况下,不用-c ,-c 会把其他用户的信息清除掉。
3,查看
cat /etc/mosquitto/pwfile
生成了用户xtest
4,我的项目中需要在django中自动生成用户。如何解决2中描述的手动输入密码的方式。
python 中提供了一个pexcept 工具可以解决这个问题。pip install pexcept 完成安装。
实现代码如下:
import pexpect
sub = pexpect.spawn('mosquitto_passwd /etc/mosquitto/pwfile %s'%‘testtest’)
sub.expect('Password:')//模拟第一次密码输入
sub.sendline('12345678')
sub.expect('Reenter password:')//模拟第二次密码输入
sub.sendline('12345678')
sub.interact()