天天看点

MongoDB用户管理创建用户删除用户修改用户密码

语法:

db.createUser(

{

user:<name_string>, #字符串

pwd:<password_strin>, #字符串

roles:[{role:<role_name>,db:<db_name>}] #数组

}

)

创建用户:

用户验证:

查看用户:

MongoDB用户管理创建用户删除用户修改用户密码

db.dropUser(<user_name>) #删除某个用户,授受字符串参数

db.dropAllUsers() #删除当前库的所有用户

要修改用户密码,要求用户具有changePassword或changeOwnPassword的权限,有以下两种方式用来修改用户密码:

db.changeUserPassword(<user_name>,<new_password>)

db.updateUser(<user_name>,{update_object})

db.changeUserPassword()示例:

<code>admin@undefined$ db.changeUserPassword("root","123456")</code>

可以看到在修改root用户的密码后,原来的密码验证就失败了,但是当前这个会话还是可以正常执行操作,新会话则需要用修改后的密码进行验证

db.updateUser()示例:

<code>admin@undefined$ db.updateUser("root",{pwd:"admin123"})</code>

修改用户权限(角色):

修改用户角色也是使用db.updateUser()函数来实现的

我们先创建一个测试用户readtest,它只对test库具备读权限:

user:"readtest",

pwd:"123456",

roles:[{role:"read",db:"test"}]

可以看到这个用户可以执行读操作,写操作是没有权限的,现在我们通过db.updateUser()来扩充它的权限,记其具有读写权限。

<code>admin@undefined$ db.updateUser("readtest",{"roles":[{role:"readWrite",db:"test"}]})</code>

可以看到,当我们把readtest用户的角色从read改成readWrite时,它就具有了对test库的写权限。通过db.updateUser()我们可以实现用户权限的放大和缩小

本文转自 emma_cql 51CTO博客,原文链接:http://blog.51cto.com/chenql/2072153