Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置
2016-11-28 22:02
429 查看
文章钢要:
1、对服务器进行多用户配置2、根据不同用户给予不同权限
一、Mosquitto的用户机制
mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作。可以说用户机制是mosquitto重要的安全机制,增强服务器的安全性。用户与权限配置需要修改3处地方:
1、mosquitto中最最最重要的配置文件mosquitto.conf。
2、pwfile.example (保存用户名与密码)
3、aclfile.example (保存权限配置)
首先给我们的服务器增加2个用户,一个叫userName密码是1,一个叫userName2 密码是2
第一步:
打开mosquitto.conf文件,找到allow_anonymous节点,这个节点作用是,是否开启匿名用户登录,默认是true。
我们需要将allow_anonymous节点前面的"#"去掉,然后后面写false。不允许匿名用户登录。如下:
修改前:#allow_anonymous
修改后:allow_anonymous false
第二步:
找到password_file节点,这个节点是告诉服务器你要配置的用户将存放在哪里
将前面的“#”去掉,并且在后面写上pwfile.example文件的路径,注意:是绝对路径。例如:
修改前:#password_file
修改后:password_file /etc/mosquitto/pwfile.example (这里的地址根据自己文件实际位置填写)
第三步:
创建用户名和密码,打开命令窗口。键入:mosquitto_passwd -c /etc/mosquitto/pwfile.example userName
然后键入2次密码,用户创建成功。
-c 创建一个用户
/etc/mosquitto/pwfile.example 创建到pwfile.example文件中
userName 创建的用户名
此时userName用户创建完毕。
第四步:
创建userName2用户。
在命令窗口键入mosquitto_passwd /etc/mosquitto/pwfile.example userName2
输入2次密码,用户创建成功
注意:第二次输入用户不用-c ,如果加上-c会将以前创建的用户覆盖。
至此用户创建完毕。
打开pwfile.example看一下结果,类似下图,KKLL与KKLL2为用户,“:”后面是加密的密码
二、Mosquitto权限
Mosquitto权限是根据topci控制的,类似与目录管理。您可以设定每个用户订阅/发布权限,也可以设定每个用户可访问的topic范围,从而达到权限控制的目的。这里我们需要用到刚才创建的2个用户。
userName 设置为订阅权限,并且只能访问的主题为"root/123/#"
userName2 设置为发布权限,并且只能访问的主题为"root/123/#"
如果用userName进行发布是不会成功的,反过来用userName2进行订阅同样不会接受到任何信息。因为他们的权限不同。
第一步:增加Mosquitto权限
打开aclfile.example,在最下面键入如下文字:
user userName
topic read root/123/#
user userName2
topic write root/123#
--------------------------------
read 订阅权限
write 发布权限
# 通配符,表示所有的
保存退出。
如下图所示:
第二步:修改Mosquitto.conf
打开Mosquitto.conf文件,找到acl_file节点。修改其内容所示:
修改前:
#acl_file
修改后:
acl_file /etc/mosquitto/aclfile.example
将前面的#号去掉,后面地址根据自己文件实际位置填写
三、测试
订阅:mosquitto_sub -t root/123/# -u userName -P 1
注意:-P中的P为大写。
发布:
mosquitto_pub -t root/123/123 -u userName2 -P 2 -m "hello word!!!"
在订阅端会收到hello word信息。
对服务器的权限用户设置完毕。
相关文章推荐
- Mosquitto搭建Android推送服务(二)Mosquitto简介及搭建
- Linux学习日志day2 Part1——搭建freeIPA服务器实现用户管理以及SSH服务远程登录
- Mosquitto搭建Android推送服务(一)MQTT简介
- Mosquitto搭建Android推送服务(三)Mosquitto集群搭建
- 搭建git服务器及配置gitosis管理用户权限
- Mosquitto搭建Android推送服务(二)Mosquitto简介及搭建
- Mosquitto搭建Android推送服务(三)Mosquitto集群搭建
- 使用Struts2框架搭建Android服务器,模拟用户登录
- Mosquitto搭建Android推送服务(一)MQTT简介
- Mosquitto搭建Android推送服务番外篇一:各种报错解决
- SQL SERVER登录用户在服务器上的权限
- Windows 网络服务架构系列课程详解(一) ----DHCP服务器的搭建与配置
- redhat 搭建只允许系统用户登录的FTP 服务器
- RedHat 5.5 基于虚拟用户验证的vsftd服务器搭建配置记录
- RHEL4- FTP服务(三)配置匿名用户访问VSFTPD服务器
- Win7系统 用户配置文件服务登录失败
- FTP 域用户隔离登录服务器的搭建
- 【经验之谈】“User Profile Service 服务未能登录,无法加载用户配置文件”实战历程
- linux上配置svnserve服务,搭建自己的svn服务器
- 解决User Profile Service 服务未能登录,无法加载用户配置文件