CentOS 7 MongoDB启用身份认证教程
1. 整体流程
下面是实现CentOS 7上MongoDB启用身份认证的整体步骤:
gantt
title CentOS 7 MongoDB启用身份认证流程
section 准备工作
创建用户并授予角色权限: done, 2021-09-01, 1d
修改MongoDB配置文件: done, 2021-09-01, 1d
section 重启MongoDB服务
重启MongoDB服务: done, 2021-09-02, 1d
section 身份认证测试
使用认证登录MongoDB: done, 2021-09-02, 1d
2. 准备工作
在开始实现之前,我们需要完成以下准备工作:
-
创建用户并授予角色权限:
# 连接MongoDB mongo # 切换到admin数据库 use admin # 创建用户 db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
上述代码创建了一个名为admin的用户,密码为password,角色为userAdminAnyDatabase,该角色授予了管理所有数据库的权限。
-
修改MongoDB配置文件:
# 打开MongoDB配置文件 sudo vi /etc/mongod.conf
找到以下行,并进行修改:
# 将此行注释去掉 #security: # authorization: enabled
注释的方式取决于具体的配置文件格式,通常是在行首加上#号。上述修改将启用身份认证。
3. 重启MongoDB服务
完成准备工作后,我们需要重启MongoDB服务以使配置生效:
# 重启MongoDB服务
sudo systemctl restart mongod
4. 身份认证测试
重启MongoDB服务后,我们需要使用认证信息进行登录测试:
# 登录MongoDB
mongo -u admin -p --authenticationDatabase admin
此处的admin
是上述创建的用户名,-p
参数表示需要输入密码,--authenticationDatabase admin
指定了认证数据库为admin。
如果登录成功,则表示启用身份认证已经生效。
附:代码注释
下面是上述步骤中涉及到的代码及其注释:
-
创建用户并授予角色权限
# 连接MongoDB mongo # 切换到admin数据库 use admin # 创建用户 db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
mongo
:连接MongoDB数据库服务器。use admin
:切换到admin数据库。db.createUser({...})
:创建一个名为admin的用户,密码为password,角色为userAdminAnyDatabase。
-
修改MongoDB配置文件
# 打开MongoDB配置文件 sudo vi /etc/mongod.conf
sudo vi /etc/mongod.conf
:使用vi编辑器打开MongoDB的配置文件。
-
重启MongoDB服务
# 重启MongoDB服务 sudo systemctl restart mongod
sudo systemctl restart mongod
:通过systemctl命令重启MongoDB服务。
-
身份认证测试
# 登录MongoDB mongo -u admin -p --authenticationDatabase admin
mongo -u admin -p --authenticationDatabase admin
:使用认证信息登录MongoDB,用户名为admin,需要输入密码,认证数据库为admin。
以上是在CentOS 7上启用MongoDB身份认证的详细步骤及代码注释。通过这些步骤,你可以成功启用身份认证,提高MongoDB的安全性。祝你学习进步!