默认的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年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。
版权声明:xxxxxxxxx;
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态