下面我将详细讲解“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开启用户权限认证问题的步骤详解”的完整攻略,希望对你有帮助。