`

MongoDB 用户管理(CRUD用户)、角色、安全认证

阅读更多

一、CRUD用户:

查看数据库的所有用户

   use admin

   db.system.users.find()

为当前数据库增加指定用户

     老版本的addUser方法:

use ichpms  指定ichpms数据库

db.addUser("root","123456");      #创建读写用户root

db.addUser("zhangsan","123456",true);#创建只读用户zhangsan

新版本的createUser方法:

eg1:

use admin ;

db.createUser({

user:'administrator',

pwd:'aaaaaa',

roles:["root"]

});

在admin数据库中添加用户"administrator" 并授权“root”角色

 

eg2:

use test

db.createUser({

user:'u1',

pwd:'aaaaaa',

roles:['readWrite']

});

在test数据库中添加用户"u1",并授权"readWrite"角色

 

eg3:

use test

db.createUser({

user:'u2',

pwd:'aaaaaa',

roles:[ { role: "read", db: "ichpms" },'readWrite']

});

在test数据库中添加用户"u2",授权”readWrite“角色,并授权对”ichpms“的”read“角色

 

 

为当前数据库删除指定用户

      db.dropUser("zhangsan")

      注意:不能在非A数据库中删除A数据库的用户。理解:可能AB两个数据库中各有一个u1的用户,如果不进入数据库中删除那就不知道是删除的是哪个数据库了。

修改当前数据库指定用户的密码

db.changeUserPassword("root3", "bbbbbb")    

 修改当前数据库指定用户

 ?

 收回指定用户的角色

 ?

 

 授权指定用户的角色

 ?

根据用户名称查看用户对应的角色

db.getUser("root3");   #"root3"  用户名称

 

二、角色

MongoDB数据库中的所有内置角色。

https://docs.mongodb.com/manual/reference/built-in-roles/index.html

 

根据角色名称查看指定角色对应的权限   

db.getRole("readWrite",{showPrivileges:true});   #"readWrite"   角色名称

 

 创建角色

?

 

 

三、安全认证

step1:创建用户:参考上面

step2:安全检查:auth=true    #开启安全检查   false 或者不配置的时候表示关闭安全检查。

      服务器启动的时候要开启安全检查

step3:客户端连接:mongo

step4:连接到指定数据库 use db   //切换到db数据库

step5:用户登录:db.auth("root","aaaaaa");

step6:用户注销:db.logout();

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics