mongodb权限设置之添加管理员、普通用户的方法

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用户和普通用户,并为他们设置相应的权限,可以有效地保护数据的安全性。管理员要定期修改自己的密码,普通用户的角色和密码也可以随时修改。

数据库标签