MongoDB 数据库是一个开源、高可扩展性、面向文档的数据库,采用 NoSQL 的概念,目前在众多企业中都有广泛的应用。在 MongoDB 中开启权限认证,可以有效保障 MongoDB 数据库的安全。那么在 MongoDB 中如何开启权限认证并配置用户密码登录功能呢?下面就来详细讲解一下。
1、 MongoDB 开启权限认证
在 MongoDB 中开启权限认证需要通过在配置文件中添加相关配置信息进行设置。下面是具体的操作步骤:
1.1、编辑 MongoDB 配置文件
首先需要找到 MongoDB 安装路径下的配置文件,通常在 /etc/mongod.conf 路径下。使用命令 vim 进入编辑模式:
vim /etc/mongod.conf
1.2、开启安全认证功能
在 mongod.conf 文件中添加以下一行配置:
security:
authorization: enabled
这将启用安全认证功能,使 MongoDB 要求用户进行身份验证。
1.3、保存配置文件
编辑完成后,使用命令 :wq 保存并退出。
1.4、重启 MongoDB 服务
在配置文件修改完成后,需要重启 MongoDB 服务,在终端中使用以下命令:
service mongod restart
2、 配置用户密码登录功能
在 MongoDB 中开启认证后,必须使用用户密码才可以登录,下面是具体的操作步骤:
2.1、创建管理员账户
在 MongoDB 认证机制下,必须要有一个管理员账户来进行用户账户的管理。使用以下命令创建一个管理员账户:
use admin
db.createUser({user:"admin",pwd:"password",roles:[{role:"root",db:"admin"}]})
其中用 use admin 命令先切换到系统默认的 admin 数据库中。
在该命令中,创建了一个名为 admin 的用户,密码为 password,在 admin 数据库中具有 root 权限。
2.2、创建应用程序账户
创建一个应用程序账户,使用以下命令:
use myapp
db.createUser({user:"myappuser",pwd:"password", roles:[{role:"readWrite",db:"myapp"}]})
其中 myapp 数据库为示例数据库,可以根据实际需求进行更改。
该命令创建的用户是一个只读用户,只有读写 myapp 数据库的权限。
2.3、验证登录操作
在配置完管理员账户和应用程序账户后,就可以使用这些账户来进行登录了。使用以下命令登陆:
mongo -u admin -p password --authenticationDatabase admin
其中 -u 参数指定要登录的用户,-p 参数指定该用户的密码,--authenticationDatabase 参数指定该用户的身份验证数据库,这里指定为 admin。
如果登录成功,则会显示以下信息:
MongoDB shell version: 3.6.3
Enter password:
connecting to: localhost:27017/admin
MongoDB server version: 3.6.3
Welcome to the MongoDB shell.
总结
以上就是在 MongoDB 中开启权限认证并配置用户密码登录功能的详细解释。在实际应用中,设置 MongoDB 的权限认证可以有效保障数据的安全性,避免数据被未授权的人访问和篡改。