1. 前言
在使用Mongodb时,我们常常需要设置用户权限,以达到数据安全性的保证。本文将介绍如何在Mongodb中添加管理员用户和普通用户,并为他们设置相应的权限。
2. 添加管理员用户
2.1 创建root用户
在Mongodb中,我们可以使用内置的root用户来进行管理员操作。首先,我们需要使用mongo shell来连接Mongodb服务器。输入以下命令:
mongo admin
如果服务器已经设置了认证机制,需要先输入管理员用户名和密码进行登录,如下所示:
mongo admin -u 用户名 -p 密码
接下来,我们需要使用root账户进行管理员操作。输入以下命令创建root用户:
use admin
db.createUser({
user: "root",
pwd: "password",
roles: ["root"]
})
其中,root用户的权限最高,可以进行任何操作。
注意:该命令需要在admin数据库下执行,否则会提示unauthorized错误。
2.2 修改管理员密码
为了保障安全性,我们应该定期修改管理员的密码。在mongo shell中输入以下命令:
use admin
db.changeUserPassword("root", "new_password")
其中,root是用户名,new_password是新的密码。
3. 添加普通用户
3.1 创建用户
除了root用户,我们还可以创建普通用户并设置不同的权限。在mongo shell中输入以下命令:
use test
db.createUser({
user: "user",
pwd: "password",
roles: [{role: "readWrite", db: "test"}]
})
其中,user是用户名,password是密码,readWrite是角色,test是数据库名称。
注意:该命令需要在要创建用户的数据库下执行,否则会提示Cannot create user in non-existent database
错误。
3.2 查看所有用户
我们可以使用以下命令来查看所有的用户:
use admin
db.getUsers()
其中,admin是数据库名称。
3.3 修改用户的角色和密码
我们可以使用以下命令来修改用户的角色和密码:
use test
db.grantRolesToUser("user", [{role:"read",db:"test"}])
db.updateUser("user",{pwd:"new_password"})
其中,user是用户名,{role:"read",db:"test"}是新的角色,new_password是新的密码。
4. 总结
在Mongodb中,通过创建root用户和普通用户,并为他们设置相应的权限,可以有效地保护数据的安全性。管理员要定期修改自己的密码,普通用户的角色和密码也可以随时修改。