怎么在MongoDB实例中启用身份验证

2023年3月29日 发表评论
免费、便宜/高性价比 服务器汇总(已更新):点击这里了解

怎么在MongoDB实例中启用身份验证

默认的MongoDB安装没有访问数据库的密码。您可以在MongoDB服务器中强制执行身份验证,以增加安全性。您可能已经控制了MongoDB服务器,使其仅接受来自局域网的请求,但是黑客仍然有机会向服务器注入恶意脚本。因此,建议使用用户名,密码和数据库角色来保护您的服务器。

在本教程中,您将学习为MongoDB数据库创建用户并为他们分配特定角色。

1、创建管理员用户

首先,我们将创建一个用于管理所有用户和数据库的用户(在本例中为admin),然后将创建仅对一个MongoDB数据库实例具有读写特权的特定数据库所有者。

在MongoDB服务器上创建一个管理员用户,以管理所有用户和数据库。连接到Mongo Shell,然后切换到管理数据库并创建用户。

use admin

db.createUser({ user: "admin", pwd: "admin_password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

验证身份验证,在Mongo Shell上运行命令:

db.auth("admin", "admin_password")

2、创建特定的数据库用户

接下来,为您的应用程序数据库创建一个用户。使用“使用”命令选择数据库,然后使用以下命令创建用户。您需要将数据库名称,用户名和密码更改为以下命令。

use mydb

db.createUser({ user: "db_user", pwd: "your_password", roles: [{ role: "dbOwner", db: "mydb" }] })

验证身份验证,在Mongo Shell上运行命令:

db.auth("db_user", "your_password")

3、在MongoDB上启用身份验证

您已成功为数据库创建用户。现在,切换授权设置以强制执行身份验证。要在MongoDB实例上启用身份验证,请在您喜欢的文本编辑器中编辑mongod.conf文件。

vim /etc/mongod.conf

将以下几行添加/编辑到配置文件

security:

authorization: enabled

保存文件并关闭。

然后重新启动MongoDB实例以应用更改。

service mongod restart

总结

您已通过在数据库上启用正确的身份验证来保护MongoDB服务器。

注意:现在服务器报价出炉,价格很低

1、腾讯云:限时 2860 元无门槛代金券:点击一键领取。

2、腾讯云最新优惠活动,3年/5年服务器限时抢购:点击前往。

3、阿里云:限时 2000 元无门槛代金券:点击一键领取。

提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: