数据库的神操作
MongoDB的安装使用
MongoDB数据导入导出
MongoDB的全文检索
MongoDB在OMIM中实际应用(omimDataCol)
Mongodb的权限管理
MySQL安装教程-win10
MySQL操作(Linux)
本文档使用 MrDoc 发布
-
+
up
down
首页
Mongodb的权限管理
# Mongodb的权限管理 ## 使用案例: ``` # 创建超级账户 use admin db.createUser({'user':'lvlh', 'pwd':'meifen1028', 'roles':['root']}) # 之后对其他数据库设置账户时需要先验证 use admin db.auth('lvlh', 'meifen1028') use bioDB #给bioDB数据库添加账户验证 db.createUser({'user':'lvlh', 'pwd':'meifen1028', 'roles':['readWrite']}) #之后使用bioDB就需要账户验证了。 #python中使用: import pymongo #myclient = pymongo.MongoClient("mongodb://localhost:27017/") host = '127.0.0.1'; port = 27017 myclient = pymongo.MongoClient(host, port) bioDB = myclient.bioDB bioDB.authenticate('lvlh', 'meifen1028') omim = bioDB['omimData'] #AllData = {one json format data} omim.insert_one(AllData) ``` ## 学习目标 ### 1.了解 mongodb的权限管理 #### (1)为什么要进行权限管理的设置 刚安装完毕的mongodb默认不使用权限认证方式启动,与MySQL不同,mongodb在安装的时候并没有设置权限,然而公网运行系统需要设置权限以保证数据安全,所以我们要学习mongodb的权限管理 #### (2)mongodb的权限管理方案 MongoDB是没有默认管理员账号,所以要先添加管理员账号,并且mongodb服务器需要在运行的时候开启验证模式 用户只能在用户所在数据库登录(创建用户的数据库),包括管理员账号。 管理员可以管理所有数据库,但是不能直接管理其他数据库,要先认证后才可以。 #### (3)mongodb超级管理员账号的创建 **(3.1) 创建超级用户** 进入mongo shell ``` sudo mongod ``` 使用admin数据库(超级管理员账号必须创建在该数据库上) ``` use admin ``` 创建超级用户 ``` db.createUser({"user":"python","pwd":"python","roles":["root"]}) ``` 创建成功会显示如下信息 ``` Successfully added user: { "user" : "python", "roles" : [ "root" ] } ``` 退出mongo shell ``` exit ``` **(3.2)以权限认证的方式启动mongodb数据库** ``` sudo mongod --auth ``` 启动之后在启动信息中会有如下信息,说明mongodb以权限认证的方式启动成功 ``` [initandlisten] options: { security: { authorization: "enabled" } } ``` **(3.3) 登录验证** 此时再使用数据库各命令的时候会报权限错误,需要认证才能执行相应操作、 ``` use admin db.auth('python','python') ``` - python用户是创建在admin数据库上的所以必须来到admin数据库上进行认证 - 认证成功会返回1,失败返回0 #### (4)创建普通用户 **(4.1) 在使用的数据库上创建普通用户** 选择需要创建用户的数据库 ``` use test1 ``` 创建用户 ``` db.createUser("user":"user1", "pwd":"pwd1", roles:["read"]) 创建普通用户user1,该用户在test1上的权限是只读 db.createUser("user":"user1", "pwd":"pwd1", roles:["readWrite"]) 创建普通用户user1,该用户在test1上的权限是读写 ``` **(4.2) 在admin用户数据库上创建普通用户** ``` use admin db.createUser({"user":"python1", "pwd":"python1", roles:[{"role":"read","db":"dbname1"},{"role":"readWrite","db":"dbname2"} ]}) ``` 在admin上创建python1用户,python1用户的权限有两个,一个再dbname1上的只读,另一个是在dbname2上的读写 #### (5)查看创建的用户 ``` show users { "_id" : "admin.python", "user" : "python", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] } ``` #### (6)删除用户 **(6.1) 进入账号数据所在的数据库** `use db_name` **(6.2) 删除用户** `db.dropUser('python')` ### 小结 了解mongodb的权限管理 熟悉创建用户的相应流程
laihui126
2023年10月18日 16:47
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅道文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅道文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅道文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
下载Markdown文件
分享
链接
类型
密码
更新密码