您的位置:首页 > 娱乐 > 八卦 > 在mongodb5.0.11版本中创建用户和授权

在mongodb5.0.11版本中创建用户和授权

2024/10/5 19:16:33 来源:https://blog.csdn.net/xiaozukun/article/details/139375890  浏览:    关键词:在mongodb5.0.11版本中创建用户和授权

目录

处理原因:

1、设定mongodb的环境变量

2、登录mongodb

3、使用admin库

4、创建 mongouser用户

5、更新 mongouser 可使用的库

6、创建 mongouser角色授权

7、更新root账号也可以使用 mongouser角色


处理原因:

在MongoDB中,root角色是预定义的,用于授予对整个数据库系统的管理权限,包括所有数据库和集合的操作。你不能创建或修改这个角色,只能赋予权限给已存在的root角色。
如果你的目标是创建一个新的管理员角色,你应该选择一个不同的名称。例如,你可以创建一个自定义的管理员角色,如mongouser,并赋予它你需要的权限。下面是一个示例

1、设定mongodb的环境变量

export PATH=/usr/local/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/bin:$PATH

2、登录mongodb

mongo --username root --password yourpassword --authenticationDatabase admin

3、使用admin库

use admin

4、创建 mongouser用户

db.runCommand({
...     createUser: "mongouser",
...     pwd: "yourpassword", 
...     roles: [ { role: "readWrite", db: "ep_mongo" }, { role: "readWrite", db: "ep_mongo_test" }],
...     mechanisms: [ "SCRAM-SHA-1" ]
... })
{ "ok" : 1 }

5、更新 mongouser 可使用的库

db.runCommand({
...     updateUser: "mongouser", 
...     roles: [{ role: "root", db: "admin" }, { role: "readWrite", db: "ep_mongo" }, { role: "readWrite", db: "ep_mongo_test" }],
...     mechanisms: [ "SCRAM-SHA-1" ]
... })
{ "ok" : 1 }

6、创建 mongouser角色授权


db.runCommand({  
...     createRole: "mongouser",  
...     privileges: [  
...         {  
...             resource: { db: "ep_mongo", collection: "" },  
...             actions: [  
...                 "find", "insert", "update", "createIndex", "dropIndex"
...             ]  
...         },  
...         {  
...             resource: { db: "ep_mongo_test", collection: "" },  
...             actions: [  
...                "find", "insert", "update", "createIndex", "dropIndex"
...             ]  
...         }  
...     ],  
...     roles: []  
... })
{ "ok" : 1 }

7、更新root账号也可以使用 mongouser角色


db.runCommand({
... ...     updateUser: "root",
... ...     roles: [ 
... ...         { role: "root", db: "admin" },
... ...         { role: "mongouser", db: "admin" }
... ...     ]
... ... })
{ "ok" : 1 }

8、重启服务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com