MongoDB的用户管理

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

B)mongo的用户是以数据库为单位来建立的, 每个数据库有自己的管理员.

C) 我们在设置用户时,需要先在admin数据库下建立管理员---这个管理员登陆后,相当于超级管理员.

添加用户

命令:db.addUser();
简单参数: db.addUser(用户名,密码,是否只读)

例:

 > use admin
> db.addUser('user','passwd',false) ; -- false 表示可读写 > use admin
switched to db admin
>
>
> show tables -- 默认
>
>
> db.addUser('sa','admin',false);
{
"user" : "sa",
"readOnly" : false,
"pwd" : "b61d1ef5ad1acf7012b6010b95eb701e",
"_id" : ObjectId("5743f55eaddef29711337fbf")
}

注意: 添加用户后,我们再次退出并登陆,发现依然可以直接读数据库?
原因: mongodb服务器启动时, 默认不是需要认证的.
要让用户生效, 需要启动服务器时,就指定 --auth 选项.
这样, 操作时,就需要认证了.

--带密码验证方式启动 mongodb

 [root@localhost mongodb]# ./bin/mongod --dbpath /home/mdata/ --logpath /home/mlog/mlog.log --fork --auth
about to fork child process, waiting until server is ready for connections.
forked process:
all output going to: /home/mlog/mlog.log
log file [/home/mlog/mlog.log] exists; copied to temporary file [/home/mlog/mlog.log.--24T06--] child process started successfully, parent exiting [root@localhost mongodb]# ./bin/mongo
MongoDB shell version: 2.4.
connecting to: test
>
>
> show dbs;
Tue May ::20.442 listDatabases failed:{ "ok" : ,
"errmsg" : "unauthorized" } at src/mongo/shell/mongo.js: --一定要先切换到admin库
> use admin
switched to db admin
>
>
> db.auth('sa','admin'); > show dbs
admin .203125GB
local .078125GB
test .203125GB
>

 修改用户密码

 > use test
> db.changeUserPassword('testUser','');
>

删除用户

> use test
> db.removeUser('testUser');

注: 如果需要给用户添加更多的权限,可以用json结构来传递用户参数
例:

> use test
>db.addUser({user:'user',pwd:'passwd',roles:['readWrite,dbAdmin']});

MongoDB基础之七 用户管理的更多相关文章

  1. MongoDB基础之 用户和数据库基于角色的访问控制

    mongod 关键字参数:--auth 默认值是不需要验证,即 --noauth,该参数启用用户访问权限控制:当mongod 使用该参数启动时,MongoDB会验证客户端连接的账户和密码,以确定其是否 ...

  2. Oracle基础和用户管理

    1.数据库的使用: 项目的规模:负载量(用户)有多大? 成本: 安全性:   (小型数据库)access.forbase 负载小 :100人以内,比如留言板,信息管理系统. 成本:千元以内. 安全性要 ...

  3. MongoDB数据库 : 管道,用户管理,副本集等

    聚合(aggregate): db.集合.aggregate([{管道:{表达式}}]) db.集合.aggregate([ {管道1:{表达式1}}, {管道2:{表达式2}}, ... ...]) ...

  4. MySQL 基础八 用户管理

    SELECT * FROM student INSERT INTO student(NAME,sex,createuser,createtime) VALUES('jack','男','ligenyu ...

  5. MongoDB shell 4 用户管理方法

    方法名 描述 db.getUsers()   db.dropAllUsers()   db.updateUser()   db.createUser()   db.revokeRolesFromUse ...

  6. linux基础_用户管理

    1.创建用户 基本语法 创建用户:useradd [选项] 用户名 (1)当传教用户成功后,会自动的创建和用户名同名的家目录. (2)也可以通过useradd -d 指定目录 新用户名,给新创建的用户 ...

  7. 在线用户管理--ESFramework 4.0 进阶(05)

    无论我们采用何种通信框架来构建我们的分布式系统,在服务端进行用户管理都是非常重要的一个环节.然而用户管理是否应该隶属于通信框架了?这个并不一定,通常来说,用户管理是与具体应用紧密相关的,应该是由应用解 ...

  8. MongoDB用户,角色管理 --- MongoDB基础用法(三)

    用户管理 用户创建 MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问. 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限和用户可以执行哪些操作. 用户应该只有最小权限集才 ...

  9. Mongodb 基础 数据导入导出和用户管理

    数据导出 导出命令使用方式 mongoexport---->csv/json使用 参数: -d 库名 -c 表名 -f field1,field2....列名 -q 查询条件 -o 导出文件名 ...

随机推荐

  1. eazasyui树形菜单

    //此处是easyui的json格式 var tree = { id:'', text:'', state:'', checked:'', attributes:'', children:'' } / ...

  2. 日志文件 统计 网站PV IP

    1. 安装rrdtool yum install rrdtool 2. 创建 rrdtool 数据库 rrdtool create /opt/local/rrdtool/jicki.rrd -s 30 ...

  3. MapReduce 表连接

    题目描述: 根据给定的关系 child parent Tom Lucy Tom Jack Jone Lucy Jone Jack Lucy Mary Lucy Ben Jack Alice Jack ...

  4. Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(一)

    一般情况下,在Android源码下编译一个jar包的典型makefile(Android.mk)如下: 在文件中加入以下内容: LOCAL_PATH:= $(call my-dir)#make jar ...

  5. iOS Socket第三方开源类库 ----AsyncSocket 分类: ios相关 ios技术 2015-03-11 22:14 59人阅读 评论(0) 收藏

    假如你也是一个java程序员,而你又不是很懂Socket. 下面我的这篇文章也许能帮助你一些. http://xiva.iteye.com/blog/993336 首先我们写好上面文章中的server ...

  6. poj2886线段树(单点修改,区间查询)

    Who Gets the Most Candies? Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 11955   Acc ...

  7. css 之!important

    主要是自己犯了个错误: 把 !important 放到了分号后面; 正确写法写法: .current{ background-color: #f1f1f1; border-left: 2px soli ...

  8. Session保存到指定数据库中

    方法1:向数据库中添加session相关信息,可以使用官方工具 命令提示符cmd中执行: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319       ...

  9. nginx 判断访问文件或目录不存在rewrite

    文件及目录匹配,其中:* -f和!-f用来判断是否存在文件* -d和!-d用来判断是否存在目录* -e和!-e用来判断是否存在文件或目录* -x和!-x用来判断文件是否可执行样例 : 判断访问的图片是 ...

  10. cordova环境搭建

    首先,需要了解一下cordova 和 phonegap 的关系.phoneGap是原先的名字,Cordova是phoneGap被捐给apache之后 用的项目名,phoneGap的名字也被保留了. 1 ...