默认的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服务器。
成都联想服务器代理【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼