注册

Mongodb 3.2.9开启用户权限认证问题的步骤详解

下面我将详细讲解“Mongodb 3.2.9开启用户权限认证问题的步骤详解”的完整攻略。

所需准备

在进行用户权限认证配置之前,需要保证你已经安装了 MongoDB 3.2.9 版本,且已经创建了管理员账号及其密码,才能够进行后续的操作。

步骤1:在mongodb配置文件中打开认证功能

首先需要找到 MongoDB 的配置文件 mongod.conf,一般情况下它所在的位置为 /etc/mongod.conf

修改 mongod.conf 文件,在此文件中添加以下参数:

security:
   authorization: enabled

这里的 enabled 表示开启权限认证,保存配置文件。

步骤2:重新启动 MongoDB

配置完成后,要重启服务器,来使新的安全配置生效,使用以下命令重启 MongoDB:

sudo service mongod restart

或者

sudo systemctl restart mongod

步骤3:创建用户

创建用户可以使用 db.createUser() 命令来实现。例如,创建一个名为 testUser 的用户,并赋予该用户 test 数据库的 readWrite 权限,使用以下命令:

use test
db.createUser({user: "testUser", pwd: "123456", roles: [{ role: "readWrite", db: "test" }]})

其中,user 是指定的用户名,pwd 是该用户的密码,roles 是该用户在指定数据库中所拥有的权限。

示例1:使用认证登录 MongoDB

首先需要用管理员账户 admin 登录 MongoDB,使用以下命令登录:

mongo -u admin -p 123456 --authenticationDatabase admin

其中,-u 参数表示登录的账户,-p 参数表示该用户的密码,--authenticationDatabase 参数为认证库,这里用的是 admin

然后,要使用创建的用户 testUser 登录 MongoDB,使用以下命令登录:

mongo -u testUser -p 123456 --authenticationDatabase test

其中,-u 参数表示登录的账户,-p 参数表示该用户的密码,--authenticationDatabase 参数为认证库,这里用的是 test,这个库的读写权限已经在第三步中赋予了 testUser 用户。

示例2:使用未认证用户尝试登录 MongoDB

使用未赋予权限的用户 guest 登录 MongoDB,使用以下命令登录:

mongo -u guest -p 123456 --authenticationDatabase admin

由于 guest 用户未被赋予任何权限,因此登录失败。

以上是“Mongodb 3.2.9开启用户权限认证问题的步骤详解”的完整攻略,希望对你有帮助。