mongodb角色管理和用户管理
方法名 | 描述 |
---|---|
db.getUsers() | |
db.dropAllUsers() | |
db.updateUser() | |
db.createUser() | |
db.revokeRolesFromUser() | |
db.removeUser() | 删除用户 |
db.grantRolesToUser() | |
db.getUser() | |
db.changeUserPassword() | |
db.auth() | 数据库认证、安全模式 |
创建超级账号:要在admin数据库下面创建超级账号:
选择数据库:use admin
创建用户:db.createUser({user:"glc",pwd:"glc",roles:[{role:"root",db:"admin"}]})
检测密码:db.auth("username","password")
glc-test:PRIMARY> use admin switched to db admin glc-test:PRIMARY> db.createUser({user:"glc",pwd:"glc",roles:[{role:"root",db:"admin"}]}) Successfully added user: { "user" : "glc", "roles" : [ { "role" : "root", "db" : "admin" } ] } glc-test:PRIMARY> db.auth("glc","glc") 1
创建某个库有创建索引的权限:
replset_name:PRIMARY> use admin switched to db admin replset_name:PRIMARY> db.createRole({role:"role_name",privileges: [{ resource: { db: "db_name", collection: "" }, actions: [ "createIndex" ]}],roles:[]})
在 MongoDB 中创建了很多帐号,怎么查看所有帐号信息?
1. 查看全局所有账户
2. 查看当前库下的账户
查看全局所有账户 :
> use admin switched to db admin > db.auth('admin','123456') 1 > db.system.users.find().pretty() { "_id" : "admin.root", "user" : "root", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "******************==", "storedKey" : "*****************=", "serverKey" : "**************=" } }, "roles" : [ { "role" : "read", "db" : "admin" }, { "role" : "readWrite", "db" : "admin" }, { "role" : "dbAdmin", "db" : "admin" }, { "role" : "dbAdmin", "db" : "devicedb" } ] } { "_id" : "test.test", "user" : "test", "db" : "test", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "******************==", "storedKey" : "******************=", "serverKey" : "******************=" } }, "roles" : [ { "role" : "read", "db" : "test" }, { "role" : "readWrite", "db" : "test" }, { "role" : "dbAdmin", "db" : "test" }, { "role" : "userAdmin", "db" : "test" }, { "role" : "dbOwner", "db" : "test" } ] }
查看当前库下的账户 :
> use admin switched to db admin > show users { "_id" : "admin.root", "user" : "root", "db" : "admin", "roles" : [ { "role" : "read", "db" : "admin" }, { "role" : "readWrite", "db" : "admin" }, { "role" : "dbAdmin", "db" : "admin" }, { "role" : "userAdmin", "db" : "admin" }, { "role" : "dbAdmin", "db" : "devicedb" } ] } > use test switched to db test > show users { "_id" : "test.test", "user" : "test", "db" : "test", "roles" : [ { "role" : "read", "db" : "test" }, { "role" : "readWrite", "db" : "test" }, { "role" : "dbAdmin", "db" : "test" }, { "role" : "userAdmin", "db" : "test" }, { "role" : "dbOwner", "db" : "test" } ] }
####################################
igoodful@qq.com