Ubuntu中MongoDB的权限管理怎样实现
导读:在Ubuntu中,MongoDB的权限管理可以通过以下几个步骤来实现: 启用身份验证: 在MongoDB配置文件/etc/mongod.conf中,找到security部分并设置authorization为enabled。例如: sec...
在Ubuntu中,MongoDB的权限管理可以通过以下几个步骤来实现:
-
启用身份验证: 在MongoDB配置文件
/etc/mongod.conf
中,找到security
部分并设置authorization
为enabled
。例如:security: authorization: enabled
保存更改后,重启MongoDB服务:
sudo systemctl restart mongod
-
创建管理员用户: 使用
mongo
shell连接到MongoDB实例:mongo
切换到
admin
数据库,并创建一个具有用户管理权限的管理员用户:use admin db.createUser({ user: "admin", pwd: "your_password", roles: ["userAdminAnyDatabase", "readWriteAnyDatabase"] } )
现在退出
mongo
shell:exit
-
使用管理员用户登录: 使用新创建的管理员用户登录到MongoDB:
mongo -u admin -p your_password --authenticationDatabase admin
-
创建其他数据库和用户: 现在你可以使用管理员用户为其他数据库创建新用户,并为其分配角色。例如,为名为
mydb
的数据库创建一个具有读写权限的用户:use mydb db.createUser({ user: "myuser", pwd: "my_password", roles: ["readWrite"] } )
-
设置角色和权限: MongoDB提供了多种内置角色,用于控制对数据库的访问和操作。你可以根据需要为用户分配不同的角色。以下是一些常用角色:
- read:允许读取指定数据库的数据。
- readWrite:允许读取和写入指定数据库的数据。
- dbAdmin:允许在指定数据库上执行管理操作。
- userAdmin:允许管理指定数据库的用户。
- userAdminAnyDatabase:允许在所有数据库上执行用户管理操作。
- readAnyDatabase:允许读取所有数据库的数据。
- readWriteAnyDatabase:允许读取和写入所有数据库的数据。
- dbOwner:允许在指定数据库上执行任何管理操作,包括删除数据库。
- root:允许在所有数据库上执行任何管理操作。
你还可以创建自定义角色,以满足特定需求。有关角色的详细信息,请参阅MongoDB官方文档:
https://docs.mongodb.com/manual/reference/built-in-roles/
-
使用角色进行权限管理: 当你为用户分配角色时,MongoDB会根据角色的权限自动限制用户对数据库的访问。你可以随时更改用户的角色或为其分配新角色,以满足不断变化的需求。
通过以上步骤,你可以在Ubuntu中实现MongoDB的权限管理。请确保为敏感数据使用强密码,并定期更新密码以保持安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中MongoDB的权限管理怎样实现
本文地址: https://pptw.com/jishu/731275.html