语法:
db.createUser(
{
user:<name_string>, #字符串
pwd:<password_strin>, #字符串
roles:[{role:<role_name>,db:<db_name>}] #数组
}
)
创建用户:
用户验证:
查看用户:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCM581dvRWYoNHLwEzX5xCMx8FesU2cfdGLwATMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xiNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLjVzYhZTZiVWO0kzM3AzNmBDNmRWYlhTOkhzM3IjY4U2LcJjMvwlMwgTMwIzLcd2bsJ2LcNXZnFWbp9CXt92Yu8GdjFTNuITavw1LcpDc0RHaiojIsJye.png)
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