mongodb 用户权限

1、使用数据库

$ mongo
MongoDB shell version v3.4.5
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.5
> use admin
switched to db admin

2、创建用户

> db.createUser(
...   { user: "admin",
...     pwd: "admin",
...     roles: [{ role:"root", db:"admin"}]
...   }
... )
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

3、查看用户

> show users
{
        "_id" : "admin.admin",
        "user" : "admin",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

4、服务启用权限认证

4.1 创建服务配置文件

systemLog:
    destination: file
    path: E:\MongoDB\logs\mongodb.log //日志输出路径
storage:
    dbPath: E:\MongoDB\data //数据存放路径
security:
  authorization: enabled //启用权限认证 enabled:启用、 disabled:不启用

4.2 注册mongodb服务

mongod --config E:\MongoDB\mongodb.conf -install -serviceName "MongoDB"

注:修改服务信息后需重启服务,确保log文件不存在

5、数据库授权

> db.auth("username","password")
0 //授权失败
1 //授权成功

6、删除数据库用户

> db.system.users.remove({user:"admin"})

7、权限列表

  • Read:允许用户读取指定数据库
  • readWrite:允许用户读写指定数据库
  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
  • readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
  • root:只在admin数据库中可用。超级账号,超级权限

转载于:https://my.oschina.net/mtyhgmj/blog/1492045

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值