创建管理员账户:

1.登录

[root@MongoDB ~]# mongo 

2.切换到admin数据库创建账户

> use admin
switched to db admin

3.用户创建用户方法

db.createUser()

role用于指定哪个用户,db指定哪个数据库

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

4.退出MongoDB命名行

> quit()
[root@MongoDB ~]#

或者使用exit 退出MongoDB

5.启用权限管理

修改MongoDB安装目录中的配置文件 /etc/mongod.conf

[root@MongoDB ~]# vim /etc/mongod.conf

将#security:的注释去掉,然后添加authorization: enabled #注意authorization前面要有两个空格

security:
authorization: enabled

重启MongoDB

[root@MongoDB ~]# systemctl restart mongod
使用创建的用户登录MongoDB
[root@MongoDB ~]# mongo --host 127.0.0.1 --port  -u "admin" -p "" --authenticationDatabase "admin"

--host 指定登录的主机,

--port 指定登录端口

-u 指定登录用户

-p 指定用户登录密码

-- authenticationDatabase 指定认证的数据库

如何使用/查看/删除用户:

use admin

用于列出MongoDB 关联这个数据库的所有的用户,需要先切换到指定数据库 例如:需要先切换到admin数据库

db.system.users.find()

> db.system.users.find()
{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : , "salt" : "1pm1kS2JTR/iLon8pY1Vkg==", "storedKey" : "k16n9/CH3K/spAIl9yNcl7xtw4k=", "serverKey" : "3zbHiGF13FicptAnNYQOMin9Jso=" }, "SCRAM-SHA-256" : { "iterationCount" : , "salt" : "3SXNHNIPsGAdzCE5rkw9O+RIgGa8Ui8T41g3cA==", "storedKey" : "jF2hv4p9LWqGba95+5zfLLPC62jL7irlF66XOFvCbUo=", "serverKey" : "2gWAdyuBJOdN6v2EfLwiADAarZOJ0R3xHX5ttn0zOkE=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

用于列出当前库下的所有用户

show users

> show users
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

用户删除当前库下的指定的用户

db.dropUser()
> db.dropUser('admin')
true

返回true 删除成功

MongoDB 用户管理的更多相关文章

  1. 浅析MongoDB用户管理

    浅析MongoDB用户管理 http://www.jb51.net/article/53830.htm mongodb3.03开启认证 http://21jhf.iteye.com/blog/2216 ...

  2. MongoDB和Java(7):MongoDB用户管理

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  3. mongodb用户管理和服务安装

    一.忘记密码快速找回 任何系统忘记密码都是一样的操作:以无需授权的模式开启程序,然后进入系统修改权限设置,退出来重新以授权方式开启程序.MySQL是这样,MongoDB也是这样.好的系统都提供了无授权 ...

  4. MongoDB用户管理

    1. 创建一个超级用户 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 use admin db.createUser(   {     user: "adminUse ...

  5. mongodb的用户管理及安全认证

    1.确认mongodb的版本 > use admin switched to db admin > db.runCommand({}) { "version" : &q ...

  6. MongoDB的用户管理(6)

    注意: A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据. 即 use admin , -->相当于进入超级用户管理模式. B)mongo ...

  7. 【mongoDB运维篇①】用户管理

    3.0版本以前 在mongodb3.0版本以前中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据库.即 use admin , 相当于进入超级用户管理模式,mongo ...

  8. MongoDB基础之七 用户管理

    MongoDB的用户管理 注意:A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin , -->相当于进入超级用户管理 ...

  9. MONGODB用户、角色和权限管理

      最近遇到很多问MONGODB用户认证授权方面的问题,现在特记录下来,与大家共享. 一.概念理解 1.用户概念 Mongodb的用户是由 用户名+所属库名组成 例如: 登录mongo  testdb ...

随机推荐

  1. ef 某些字段更新 某些字段不更新

    不更新 _pocDbContext.Entry<UploadFileActiveTask>(activeTask).Property("id").IsModified ...

  2. 5 -- Hibernate的基本用法 --6 深入Hibernate映射

    Hibernate提供三种方式将POJO变成PO类: 1. 使用持久化注解(以JPA标准注解为主,如果有一些特殊要求,则依然需要使用Hibernate本身提供的注解). 2. 使用JPA2 提供的XM ...

  3. UML中类结构图示例

  4. 修改web前端访问端口

    说明: URL规则可添加变量部分,也就是说将符合同种规则的URL抽象成一个URL模式 1 2 3 @app.route('/instance/<uuid>/') def instance( ...

  5. Android 信号处理面面观 之 信号定义、行为和来源

    总结: Android中: Sending signal. PID: XXX SIG: 3   ====>打印trace 原文:http://blog.csdn.net/rambo2188/ar ...

  6. Android SAX解析XML

    本篇讲解一下SAX解析XML这种方式,首先来看一下它的基本介绍: SAX是一种以事件驱动的XML API,由它定义的事件流可以指定从解析器传到专门的处理程序的代码的XML结构,简单的讲,它是种解析速度 ...

  7. 【netcore基础】wwwroot下静态资源文件访问权限控制

    本文参考如下博问 https://q.cnblogs.com/q/107836 业务要求 上传的资源文件(.mp3 .mp4等)只有购买了之后才能有权限访问,所以对上传的资源文件目录进行访问权限控制 ...

  8. 装饰模式和它在JDK中的实现

    对装饰者模式的一个通俗的理解就是:一个东西A包装了另外一个东西B,A在B的功能基础上又扩展了新的功能,但是对外提供的接口不变 装饰者模式(Decorator)的定义: 动态地给一个对象添加一些额外的职 ...

  9. Oracle数据库入门——sql语句和函数详解

    一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构 ...

  10. redis(三)--用Redis作为Mysql数据库的缓存

    把MySQL结果集缓存到Redis的字符串或哈希结构中以后,我们面临一个新的问题,即如何为这些字符串或哈希命名,也就是如何确定它们的键.因为这些数据结构所对应的行都属于某个结果集,假如可以找到一种唯一 ...