云主机上的MongoDB被威胁,开启AUTH认证

创建用户

mongo      # 进入 mongo shell

进入admin数据

show dbs    # 查看所有数据库
use admin   # 使用admin数据库
  • 创建超级管理员
db.createUser({user:"root",pwd:"123456",roles:[{role: 'root', db: 'admin'}]})
# user : 用户名
# pwd: 密码
  • 创建普通用户
# 切换或创建数据库,例:test
use test
db.createUser({user:"testuser",pwd:"testpwd",roles:[{role:"readWrite",db:"test"}]})

先退出mongo shell

exit

修改配置(开启认证)

vim /etc/mongod.conf
  • 加入或者打开注释
security:
  authorization: enabled

在这里插入图片描述

  • 重启mongodb
service mongod restart

测试使用 mongo

在这里插入图片描述
没有了一大片的说明

认证登录

方式1

mongo 

use admin 

db.auth('root', '123456')   # 返回1代表认证成功

方式2

mongo -u root -p 123456  # 跟 mysql 好像~~

熟悉的注释说明又回来啦~
在这里插入图片描述

查看和删除用户

user admin 

# 查看所有用户(任选其一)
### 命令1
db.system.users.find()
### 命令2 
db.getUsers()


# 删除用户 删除时需要切换到该账户所在的数据库(任选其一)
### 命令1
db.removeUser('user')  # 这个命令我使用的时候有警告,不过还是能删
### 命令2
db.system.users.remove({user:"user"})

在这里插入图片描述
在这里插入图片描述

pymongo使用时进行auth认证


class DBMongo(object):

    def __init__(self):
        self.client = MongoClient(f'mongodb://{username}:{password}@127.0.0.1:27017')
        # 如果需要数据库进行认证 加上databasename
        #self.client = MongoClient(f'mongodb://{username}:{password}@127.0.0.1:27017/{databasename}')
        self.db = self.client["python"]['test']

    def __del__(self):
        self.client.close()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值