mogodb数据库简单的权限分配
2024-08-26 21:09:52
mongdb数据库默认不需要权限认证,但为了安全起见,最好设置下需要权限认证,启动的时候设置auth=true即可。
推荐通过mongodb.conf配置文件的形式启动mongodb 进入mongodb bin目录执行./mongod -f xxxx/mongodb.conf
dbpath=/home/dupeidong/data/db
logpath=/home/dupeidong/mongodb/log/mongodb.log
port=
fork=true
logappend=true
bind_ip=127.0.0.1
auth=true
设置了auth=true, 那么第一次启动mogodb数据的时候,访问数据库如show dbs,会提示没有权限,需要添加一个超级管理员。然后切换到admin数据库,再以超级管理员的身份登录 ,执行 show dbs,可以成功的查看到当前数据库列表admin数据库和local数据库
db.createUser({user:'admin', pwd: '12345',roles: [{role: 'userAdminAnyDatabase', 'db': 'admin'}]})
use admin
db.auth('admin', '12345')
show dbs
admin
local
admin虽然是超级管理员,但是对具体的数据库如article却没有操作权限,所以需要针对具体的数据库添加相应的用户管理员。为某个数据库添加用户,应先切换到该数据库,然后添加用户。
ps: 在执行use article之前要保证已经以超级管理员的身份登录,才能成功给article添加用户,超级管理员有添加用户的权限
use article
db.createUser({user:'dpd',pwd:'dpd',roles:[{role:'readWrite',db:'article'}]})
db.createCollection("test")
最后如果没有关闭数据库的权限,需要通过下边指令获取授权
use admin
db.auth('admin', '12345')
db.grantRolesToUser( "admin" , [ { role: "hostManager", db: "admin" } ])
最新文章
- BZOJ4488: [Jsoi2015]最大公约数
- 纯CSS完成tab实现5种不同切换对应内容效果
- IOS 开发教程
- 前后台数据交互 后台封装数据 json格式
- 两个与spring事务相关的问题
- Java中jsp和Servlet的区别
- jquery ajax 报交请求返回 HTTP 400 错误
- 第10章 PHP异常处理
- 【巧妙预处理系列】【UVA1330】City game
- 例子:韩顺平JavaScript----JS乌龟抓小鸡游戏
- android + php 后台开发
- iOS----------教你如何使用 GitHub Desktop
- php发送http put/patch/delete请求Demo
- Python入门系列教程(一)基础
- BZOJ 2594 水管局长 - LCT 维护链信息
- Magento模型与ORM基础
- Asp.Net从相对路径获取绝对路径的方法(不需要httpcontext上下文也可)
- python之sqlalchemy使用
- Python全栈开发之4、内置函数、文件操作和递归
- Codeforces 938D Buy a Ticket (转化建图 + 最短路)