Mongodb系统管理员权限设置

管理员账号无法执行show dbs 、show collections
Js代码   收藏代码
  1. {  
  2. "_id" : ObjectId("52a82bb26cea234c4deb06fd"),  
  3. "user" : "admin",  
  4. "pwd" : "7c67ef13bbd4cae106d959320af3f704",  
  5. "roles" : [  
  6. "userAdminAnyDatabase"  
  7. ]  
  8. }  
  9.   
  10. db.system.users.findOne()  
  11. {  
  12. "_id" : ObjectId("52a849331575fa94bad8b7ce"),  
  13. "user" : "admin",  
  14. "pwd" : "7c67ef13bbd4cae106d959320af3f704",  
  15. "roles" : [  
  16. "userAdminAnyDatabase",  
  17. "dbAdminAnyDatabase",  
  18. "readWriteAnyDatabase",  
  19. "clusterAdmin"  
  20. ]  
  21. }  
 
功能全开
这才是超级管理员的权限嘛
### 创建具有管理员权限MongoDB用户 为了创建具备管理员权限MongoDB用户,需遵循特定步骤来确保安全性和功能完备性。 #### 进入 `admin` 数据库并创建超级管理员账户 在MongoDB环境中,超级管理员应当被放置于`admin`数据库内。此操作通过执行如下命令完成: ```javascript use admin; db.createUser({ user: "admin", pwd: "a12345", // 建议设置更复杂的密码以增强安全性 roles: [{ role: "root", db: "admin" }] }); ``` 上述代码片段展示了如何利用`createUser()`方法创建拥有最高级别访问控制权的角色——即`root`角色下的用户[^1]。 #### 修改 MongoDB 配置文件启用认证机制 为了让新建立的安全措施生效,还需调整MongoDB实例的相关配置参数。具体来说就是编辑位于默认路径(例如Windows环境下可能是`C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg`)下的配置文件,加入或确认存在以下内容: ```yaml security: authorization: enabled ``` 这段YAML格式的内容指示服务器启动时开启基于角色的访问控制系统。 #### 重启 MongoDB 实例使更改生效 最后一步是停止当前运行的服务进程,并按照常规方式重新启动之。这会强制应用之前所做的任何改动,包括新的用户账号以及强化后的安全策略。 对于希望获得跨所有数据库管理能力的情况,“userAdminAnyDatabase”也是一个合适的选择;该内置角色提供了广泛而强大的权限集,适用于需要全面掌控整个集群场景的需求[^2]。 如果考虑长期维护及灵活性,则建议定义个性化角色而非直接依赖预设选项。“root”作为最高等级的身份不可变更,但对于其他情形而言,构建专属方案可能更为理想。比如命名为“mongouser”的自定义角色能够满足特殊需求的同时保持良好的可读性和可控度[^3]。 另外值得注意的是,“userAdmin”这一角色允许对单个指定数据库内的用户数据进行增删改查等操作,适合用来限定作用范围较小的任务场合[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值