1、添加超级管理员用户

  1)切换到admin数据库

>use admin

  2)添加管理员用户

 >db.addUser("admin","admin")

  添加了一个叫admin的用户,密码是admin。拥有对任意数据库的所有权限

  3)查看已添加的用户

>db.system.users.find()
{ "_id" : ObjectId("528c24eb30c8aafadfc15f60"), "user" : "admin", "readOnly" : false, "pwd" : "7c67ef13bbd4cae106d959320af3f704" }

2、添加普通用户

  1)切换到普通数据库mydb

>use mydb  

  2)添加一个用户,只给予读权限

db.addUser(
{
user:"lihuai",
pwd:"",
roles:["read"]
}
)

  3)添加一个用户,作为mydb数据库的管理员

db.addUser("heyman","123456")

  4)以认证方式启动mongodb

[mongodb@localhost bin]$ ./mongod --dbpath=/home/mongodb/data --logpath=/home/mongodb/logs/mongodb.log --auth --fork

  5)以用户lihuai登录mydb

[mongodb@localhost bin]$ ./mongo 127.0.0.1:27017/mydb -ulihuai -p123456

  发现可以查询,但是写入的时候会提示

> db.users.insert({name:"zhangsan",age:30})
not authorized for insert on mydb.users
>

  6)以管理员heyman登录mydb,可以对mydb数据库进行读写操作,但不能对其他数据库进行任何操作

  7)超级管理员admin需登录到admin数据库后,再切换到其他数据库进行任何操作

[mongodb@localhost bin]$ ./mongo 127.0.0.1:27017/admin -uadmin -padmin
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:27017/admin
> use mydb
switched to db mydb
>

  虽然是超级管理员,但是admin不能直接登录其他数据库

[mongodb@localhost bin]$ ./mongo 127.0.0.1:27017/mydb -uadmin -padmin
MongoDB shell version: 2.4.8
connecting to: 127.0.0.1:27017/mydb
Wed Nov 20 11:22:26.916 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
exception: login failed
[mongodb@localhost bin]$

MongoDB添加用户的更多相关文章

  1. mongodb添加用户和认证

    Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C ...

  2. MongoDB添加用户验证

    Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C ...

  3. mongodb 添加用户报错TypeError:db.addUser is not a function (mongodb3.4.1)

    1:问题如下: 原因是 新版的MongoDB已经不支持addUser方法了. 改成createUser了. 使用方法如下    2:具体解释一下db.createUser()方法的用法   定义: 创 ...

  4. mongodb 添加用户

    use admindb.createUser({ user:"admin", pwd:"abc123456", roles:[{role:"root& ...

  5. mongodb之用户/认证/角色/权限管理

    前言 用户权限管理很重要,只给需要的权限,防止应用系统漏洞导致脱库 认证和授权 Authentication 认证识别,解决我是谁 Authorization 操作授权,我能做什么 认证机制 MONG ...

  6. macos下mongoDB 3.4.5 添加用户、设置权限

    macos下mongoDB 3.4.5 添加用户.设置权限   在项目中需要根据项目运行环境访问,以不同的身份访问各自的db,所以研究了一下MongoDB的 需求: 给MongoDB添加两个用户分别用 ...

  7. MongoDB的用户管理(6)

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

  8. mongoDB之用户及权限设置

    之前用MongoDB没有设置用户和权限,一直都是本机应用程序连接MongoDB.在服务器上部署后对外没有开数据库连接端口,本机应用程序连接再开放应用程序端口供外部访问. 我部署的环境是ubuntu 1 ...

  9. 【Mongodb】用户和认证 权限总结

    开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库!   在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin ...

随机推荐

  1. js判断输入框的范围,并且只能输入数字

    <input type="text" onkeyup="javascript:this.value=this.value.replace(/[^\d]/g,''); ...

  2. nokia5230 出厂设置

    你手机sim卡里的电话没事,还有储存卡里都没事,这个只是针对手机内存,如果不放心,拿你不用的手机卡,拔了内存卡格式化你好,我来具体说说吧首先如果你要单一恢复出厂设置,代码是输入*#7780#密码没改是 ...

  3. 报错:org.apache.jasper.JasperException: /index.jsp (line: 1, column: 17) equal symbol expected

    现象:写了如下一个jsp文件,导入需要用到的两个包: 运行结果报错:org.apache.jasper.JasperException: /index.jsp (line: 1, column: 17 ...

  4. makefile详解 嵌套执行make,定义命令包

    嵌套执行make 在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而 ...

  5. php的函数iconv在转"utf-8"到"gb2312"时会自动截断

    最近在写网站后台时候,需要用到iconv函数把前端jquery Post来过的utf-8编码内容转成gb2312, 发现只有用iconv函数把内容的数据一转码数据就会无缘无故的少了一部分.   问了我 ...

  6. svn在linux下的使用(转)

    ubuntu命令行模式操作svn 首先要安装SVN客户端到你的系统才能操作各种命令 apt-get install subversion 1.将文件checkout到本地目录 svn checkout ...

  7. 1. Netty解决Tcp粘包拆包

    一. TCP粘包问题 实际发送的消息, 可能会被TCP拆分成很多数据包发送, 也可能把很多消息组合成一个数据包发送 粘包拆包发生的原因 (1) 应用程序一次写的字节大小超过socket发送缓冲区大小 ...

  8. Android流量统计TrafficStats类

    对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.n ...

  9. Java执行main方法,异常为:could not find the main class.program will exit

    未解决. Java执行方法,异常为:could not find the main class.program will exitmain 原文地址:http://rogerfederer.iteye ...

  10. Java的安全性和可移植性

        Java的这两个特性,关键在于Java编译器的输出并不是可执行的代码,而是字节码 bytecode.      字节码是一套设计用来在Java运行时系统下执行的高度优化的指令集,该Java运行 ...