您的位置:首页 > 数据库 > Mongodb

MongoDB添加用户

2013-11-20 11:23 423 查看
1、添加超级管理员用户

  1)切换到admin数据库

>use admin


  2)添加管理员用户

 >db.addUser("admin","admin")

  添加了一个叫admin的用户,密码是admin。拥有对任意数据库的所有权限

  3)查看已添加的用户

>db.system.users.find()


{ "_id" : ObjectId("528c24eb30c8aafadfc15f60"), "user" : "admin", "readOnly" : false, "pwd" : "7c67ef13bbd4cae106d959320af3f704" }


2、添加普通用户

  1)切换到普通数据库mydb

>use mydb


  2)添加一个用户,只给予读权限

db.addUser(
{
user:"lihuai",
pwd:"123456",
roles:["read"]
}
)


  3)添加一个用户,作为mydb数据库的管理员

db.addUser("heyman","123456")


  4)以认证方式启动mongodb

[mongodb@localhost bin]$ ./mongod --dbpath=/home/mongodb/data --logpath=/home/mongodb/logs/mongodb.log --auth --fork


  5)以用户lihuai登录mydb

[mongodb@localhost bin]$ ./mongo 127.0.0.1:27017/mydb -ulihuai -p123456


  发现可以查询,但是写入的时候会提示

> db.users.insert({name:"zhangsan",age:30})
not authorized for insert on mydb.users
>


  6)以管理员heyman登录mydb,可以对mydb数据库进行读写操作,但不能对其他数据库进行任何操作

  7)超级管理员admin需登录到admin数据库后,再切换到其他数据库进行任何操作

[mongodb@localhost bin]$ ./mongo 127.0.0.1:27017/admin -uadmin -padmin
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:27017/admin
> use mydb
switched to db mydb
>


  虽然是超级管理员,但是admin不能直接登录其他数据库

[mongodb@localhost bin]$ ./mongo 127.0.0.1:27017/mydb -uadmin -padmin
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:27017/mydb
Wed Nov 20 11:22:26.916 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
exception: login failed
[mongodb@localhost bin]$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: