mongodb用户管理

角色具体说明:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
dbOwner:数据库拥有者,包含readWrite、dbAdmin、userAdmin
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
root:只在admin数据库中可用。超级账号,超级权限
__system: 内部角色,不建议使用

创建一个不受访问限制的超级用户

use admin
db.createUser(
{
   user:"root",
   pwd:"www.ttlsa.com",
   roles:["root"]
}
)

创建一个超级用户

超级用户的role有两种,userAdmin和userAdminAnyDatabase
use admin
db.createUser(
{
    user: "admin",
    pwd: "www.ttlsa.com",
    roles:[
        {
             role: "userAdminAnyDatabase",
             db: "admin"
        }]
}
)

db是指定数据库的名字,admin是管理数据库。

创建普通用户

use admin
db.createUser(
{
    user:"dev",
    pwd:"www.ttlsa.com",
    roles:[
        {role:"read",db:"db01"},
        {role:"read",db:"db02"},
        {role:"read",db:"db03"}
    ]
}
)

删除用户

首先进入目标库:use test
db.dropUser("testuser")
db.system.users.remove({user:"testuser"});
db.removeUser("testuser");

查看当前用户权限

db.runCommand(
{
   usersInfo:"userName",
   showPrivileges:true
}
)

只能查看当前数据库中的用户,哪怕当前数据库admin数据库,也只能查看admin数据库中创建的用户。

修改用户密码

use admin
db.changeUserPassword("username", "xxx")

查看用户信息

db.runCommand({usersInfo:"userName"})
db.system.users.find()

修改用户密码和用户信息

db.runCommand(
{
    updateUser:"username",
    pwd:"xxx",
    customData:{title:"xxx"}
}
)

添加角色

首先进入目标库:use test

db.grantRolesToUser(  "testuser",  [    { role: "read",db:"admin"}  ] )

回收角色权限

首先进入目标库:use test

db.revokeRolesFromUser("testuser",[    { role: "read",db:"admin"}  ] )

搭建认证环境和认证登录

1、找到mongodb配置文件,设置noauth=true

重启Mongodb后,登录admin账号,创建一个超级权限用户

use admin

db.createUser({user:‘root‘,pwd:‘root‘,roles:[{ "role" : "root", "db" : "admin" }]});

2、关闭mongodb

3、启用认证参数

要保证权限认证生效,需要在mongodb配置文件中加入auth=true,同时取消掉noauth=true

4、启动Mongodb

5、认证登录

> use admin
switched to db admin
> db.auth(‘root‘,‘root‘)

1
> use hong
switched to db hong
> show collections;
mycol
system.users
> db.mycol.find();
{ "_id" : ObjectId("56f255b77fa46acddeb4507b"), "name" : "mycol" }

注:
与用户管理相关的操作基本都要在admin数据库下运行,要先use admin;
如果在某个单一的数据库下,那只能对当前数据库的权限进行操作;
db.addUser是老版本的操作,现在版本也还能继续使用,创建出来的user是带有root role的超级管理员。

时间: 2024-08-09 02:08:52

mongodb用户管理的相关文章

浅析MongoDB用户管理

1. 创建一个超级用户 use admin db.createUser( { user: "adminUserName", pwd: "userPassword", roles: [ { roles: "userAdminAnyDatabase", db: "admin" } ] } ) 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问). db是指定数

mongodb用户管理简单记录

Mongodb用户分为三种 1.全局用户 2.数据库对应用户 3.只读用户 查看所有的数据库 > show dbs admin      0.078GB book_blog  0.078GB local      0.078GB mydb       0.078GB newdb      0.078GB test       0.078GB 查看现有所有的有哪些用户,要切换到admin数据库中 > use admin switched to db admin > db.system.us

MongoDB 用户管理

创建一个超级用户 use admin db.createUser( { user: "adminUserName", pwd: "userPassword", roles: [ { roles: "userAdminAnyDatabase", db: "admin" } ] } ) 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问). db是指定数据库的

3.浅析MongoDB用户管理

网络来源--http://www.jb51.net/article/53830.htm 1. 创建一个超级用户 db.createUser( { user: "li0924", pwd: "123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对

(7)mongodb 用户管理

mongodb 服务启动时不用 --auth 参数,默认连接没有用户名.密码.mongodb 的用户是以数据库为单位来建立的,每个数据库都有自己的管理员.在设置用户时,需要先在admin数据库下建立管理员,这个管理员登录后,相当于超级管理员.牵扯到服务器配置层面的操作,都需要切换到admin数据库. 1.创建用户 为 admin 数据库创建用户: use admin db.addUser('sa','123456',false); 用户名 sa ,密码 123456,false 代表不是只读的.

mongodb之用户管理与系统管理常用命令

## mongodb的用户管理(认证管理) 用户分三种 全局用户 数据库对应用户 只读用户 ### 创建全局用户(全局用户只能在admin账户下创建) 创建了一个名为zhuima,密码为zhuima的全局账户 [[email protected] ~]# hostname redis.unix178.com [[email protected] ~]# mongo MongoDB shell version: 2.4.6 connecting to: test > show dbs local0

MongoDB快速入门学习笔记7 MongoDB的用户管理操作

1.修改启动MongoDB时要求用户验证加参数 --auth 即可.现在我们把MongoDB服务删除,再重新添加服务 mongod --dbpath "D:\work\MongoDB\data" --logpath "D:\work\MongoDB\log\mongodb.log" --install --serviceName "MongoDB" --auth 2.创建用户,并使用创建的用户登录打开shell操作界面,默认test数据,再查看所

mongodb的用户管理

简介:由于mongodb数据的用户管理是基于单个库的管理,他的管理策略大概如下 如果验证了admin库的账户,那么所有的库都可以访问 如果验证了非admin库的账户,那么此权限只能访问当前库下的数据 步骤建议: 如果要对数据库进行账户设置,最好我们首先不要开启数据库验证,然后进入admin库,创建密码 退出添加 -auth  验证重启mongodb然后使用admin库的账户进行验证,如果通过那么进入其它库进行账户创建,完成后重新登录进行验证 验证如下: 启动mongod mongod.exe -

MongoDB用户授权和管理

原文地址:https://blog.csdn.net/yu757371316/article/details/55210536 1.mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可 运行如下: 1 [[email protected] mongodb]# ./bin/mongo 2 MongoDB shell version: 1.8.2 3 connecting to: test