您的位置:首页 > 数据库 > Mongodb

MongoDB权限简介

2016-05-03 14:20 399 查看
MongoDB权限总结

MongoDB启动时不添加任何参数,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库,需以--auth参数启动。
在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin数据库是空的,没有记录权限相关的信息。当admin.system.users一个用户都没有时,即使mongod启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作(不管是否是以--auth 参数启动),直到在admin.system.users中添加了一个用户。
MongoDB的访问分为连接和权限验证,即使以--auth参数启动还是可以不使用用户名连接数据库,但是不会有任何的权限进行任何操作
admin数据库中的用户名可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以,其他数据库中的用户只能管理其所在的数据库。

MongoDB中用户的角色说明

read角色数据库的只读权限,包括:collStats、dbHash、dbStats、find、killCursors、listIndexes、listCollections

readWrite角色数据库的读写权限,包括:collStats、convertToCapped、createCollection、dbHash、dbStats、dropCollection、createIndex、dropIndex、emptycapped、find、insert、killCursors、listIndexes、listCollections、remove、renameCollectionSameDB、update

dbAdmin角色数据库的管理权限,包括:collStats、dbHash、dbStats、find、killCursors、listIndexes、listCollections、dropCollection
and createCollection on system.profile only

userAdmin角色数据库的用户管理权限,包括:changeCustomData、changePassword、createRole、createUser、dropRole、dropUser、grantRole、revokeRole、viewRole、viewUser

readAnyDatabase角色任何数据库的只读权限(和read相似)

readWriteAnyDatabase角色任何数据库的读写权限(和readWrite相似)

userAdminAnyDatabase角色

任何数据库用户的管理权限(和userAdmin相似)

dbAdminAnyDatabase角色

任何数据库的管理权限(dbAdmin相似)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: