Docker创建用户设置权限和删除用户

1. 创建用户设置权限

【阅读须知】
1. 用户被创建在哪个数据库下,就只能在哪个数据库登录
2. docker-compose.yml设置的初始用户

  • 针对admin数据库下
  • admin这个数据库是系统自带的数据库,**他的用户可以访问任何其他数据库的数据**,也叫做超级管理员
 environment:

   - MONGO_INITDB_ROOT_USERNAME=root

   - MONGO_INITDB_ROOT_PASSWORD=123

(1)切换数据库
use admin
# switched to db admin

(2) db.createUser()在当前数据库创建用户

如需auth校验 => db.auth(user,pwd)

# 函数声明:
db.createUser({ 
    user: "<name>",
    pwd: "<cleartext password>",
    customData: { <any information> },
    roles: [
        { role: "<role>", db: "<database>" } | "<role>",
        ...
    ]
});

示例:

config> db.createUser({user:'config1',pwd:'123',roles:[{role:'readWrite',db:'local'}]})

1. 创建在config数据库下的用户;
2. 用户名:config1
3. roles:[{role:'readWrite',db:'local'}]
此用户权限包含:对数据库local拥有readWrite权限


**注意!!!
roles属性的两种书写格式

简要:
采取下方第2种格式的:默认将权限作用于当前use的数据库

roles: [{ role: "<role>", db: "<database>" } | "<role>"]

第1种:

  roles: [{ role: "<role>", db: "<database>" }]

第2种:

roles: ["<role>"]

**第1种等价于第2种**

  # 示例
  config> db.createUser({user:'lsy',pwd:'123',roles:['readWrite']})
  # 等价于 (config 当前use数据库)
  config> db.createUser({user:'lsy',pwd:'123',roles:[{role:'readWrite',db:'config'}]})

(3)查验创建结果
show users

返回结果 成功!

[
  {
    _id: 'config.config1',
    userId: new UUID("8c427686-3a07-4176-84bf-0c3e69fd66de"),
    user: 'config1',
    db: 'config',
    roles: [ { role: 'readWrite', db: 'local' } ],
    mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
  }
]


2. 删除用户
db.dropUser(“用户名”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值