MongoDB的2进制安装极其简单,按照官方文档的操作来,默认是没有用户认证的…运行效率虽然很高,未免
不太安全。
下面介绍如何使用auth方式来进行用户认证(keyFile方式我还没看..)
1) 不使用 –auth参数,启动 mongodb
2) 创建 User Administrator.
mongodb里面没有root这种超级权限无敌的用户,但是有User Administrator,它可以管理其它用户~~,但
是就没有其它的特殊权限了。
如果一个用户有了userAdminAnyDatabase 权限,它就成为了 User Administrator。
代码如下 | 复制代码 |
USE admin; 或者 : db = db.getSiblingDB('admin') |
添加用户
代码如下 | 复制代码 |
db.addUser( { USER: "root", "userAdminAnyDatabase" ], "user" : "root" } |
这样就在admin库中添加了一个名为root,密码为123456的User Administrator。
3) 使用 –auth参数启动mongodb
4) 使用User Administrator登录并完成认证。
代码如下 | 复制代码 |
[root@yw-0-0 logs]# mongo xxx.xxx.xx.xxx "userAdminAnyDatabase" ], "user" : "root" } |
5) 创建其它用户
用户都是跟着库走的,用户信息也会保存到库的system.users表里面。
When adding a user to multiple databases, you must define the user for each database.
> USE cm;
#创建用户cm,密码123456, 权限为readWrite和dbAdmin
> db.addUser( { USER: "cm",pwd: "123456",roles: [ "readWrite", "dbAdmin" ]} )
Tue Sep 24 10:53:51 EXEC error: src/mongo/shell/db.js:64 password can't be empty
throw "password can't be empty";
这个问题困扰了我好久啊...
后来发现客户端是2.2.3,服务端是2.4.6........
换成最新的客户端就ok了:
代码如下 | 复制代码 |
> db.addUser( { user: "cm",pwd: "123456",roles: [ "readWrite", "dbAdmin" ]} ) "687312e8f13ef54ec5d213f4eadf1d98", "roles" : [ "readWrite", "dbAdmin" ] } |
6) 修改密码
代码如下 | 复制代码 |
db = db.getSiblingDB('cm') |
7) 后记
之所以写这篇文章,是因为百度出来的资料都不靠谱啊!
丛林探险3 安卓版v454.0
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级