mongodb开启安全认证

默认,mongodb不开启安全认证,通过mongo shell访问,我们会看到mongo shell报出警告:

mongodb开启安全认证_第1张图片

后面两个警告很好解决:按照提示,我们修改/sys/kernel/mm/transparent_hugepage/enabled和/sys/kernel/mm/transparent_hugepage/defrag参数即可。

mongodb开启安全认证_第2张图片

修改完成,我们再次启动,只会报安全相关的警告。为了让安全警告消失,我们需要在启动mongod进程的时候加上参数--auth。

bin/mongod --auth --bind_ip 127.0.0.1,10.119.9.149 --dbpath data/db --logpath logs/mongod.log --logappend &

再次进入mongo shell,警告消失,但是发现做操作的时候,没有权限。

mongodb开启安全认证_第3张图片

创建一个admin用户,并在命令行下通过db.auth("admin","admin")鉴权,此时,可以运行show dbs而不报错了。

mongodb开启安全认证_第4张图片

 创建一个普通用户:

mongodb开启安全认证_第5张图片

通过创建的hadoop用户,我们直接在进入mongo shell命令行时,输入用户名密码并指定数据库,就可以进行查看表集合,插入数据,查询数据相关操作。

mongodb开启安全认证_第6张图片

普通用户如果未授权,操作还是会提示失败:

mongodb开启安全认证_第7张图片

在mongo shell命令行下通过db.auth("hadoop","hadoop")进行授权,授权成功,返回1,否则返回0。

鉴权验证失败返回0: 

mongodb开启安全认证_第8张图片

鉴权验证成功返回1:

mongodb开启安全认证_第9张图片

授权成功,可以进行相关操作。和登录时 bin/mongo test -u hadoop -p hadoop 带上用户名密码登入mongo shell一样可以进行操作而不报错。 

你可能感兴趣的:(nosql)