随笔 - 836  文章 - 1 评论 - 40 阅读 - 102万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

 

{"role": "dbOwner", "db": db_name}
复制代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @mail    : lshan523@163.com
# @Time    : 2024/12/19 17:16
# @Author  : Sea
# @File    : BatchAddUserForDbs.py# @Purpose :
# @history : 
# ****************************
import pymongo
from pymongo.errors import OperationFailure
client = pymongo.MongoClient("mongodb://root:root@192.168.118.59:27017/")
# 获取所有数据库名称
db_names = client.list_database_names()
# 要创建的用户信息
username = "myUser"  # 用户名
password = "yourPsd"  # 密码

# 循环遍历所有数据库并创建用户
for db_name in db_names:
    # 选择当前数据库
    db = client[db_name]
    # 定义角色数组,包括所有权限
    roles = [
        {"role": "readWrite", "db": db_name},
        {"role": "dbAdmin", "db": db_name},
        {"role": "userAdmin", "db": db_name},
        {"role": "dbOwner", "db": db_name},   # 数据库拥有者权限  
        {"role": "clusterAdmin", "db": "admin"},  # 如果需要更高的权限
    ]
    try:
        # 创建用户  #更新  updateUser
        db.command("createUser", username, pwd=password, roles=roles)
        print(f"用户 '{username}' 在数据库 '{db_name}' 创建成功。")
    except OperationFailure as e:
        print(f"创建用户 '{username}' 在数据库 '{db_name}' 时发生错误: {e}")
    except Exception as e:
        print(f"在数据库 '{db_name}' 创建用户时发生未知错误: {e}")
    # 关闭连接
client.close()
复制代码

 

 # 更新用户角色

  db.command("updateUser", username, pwd=password, roles=roles)

posted on   lshan  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2019-12-19 zookeeper客户端管理工具---ZooInspector
点击右上角即可分享
微信分享提示