2.4,2.6,3.0+各mongo版本的用户及权限添加方法
2017-01-20 17:57
281 查看
mongo开启用户验证
mongod数据库服务默认是不开启用户认证的,此时任何的client端都可以连接并访问mongo服务,只有是网络可以连通即可。如果需要支持用户认证的功能,则必须要先主动开启该功能,主要的方式就是在启动命令的时候添加一个--auth参数即可,如下清单
/usr/bin/mongod --config /etc/mongodb.conf --auth通过上述命令启动的mongo服务就会支持认证机制,client连接时如果没有带上正确的用户名和密码的话则会报错。
mongo的用户存储及权限
mongo的用户分为2类,一类是admin用户,用户信息存储位置为admin数据库的system.users集合,admin用户为super user可以访问所有数据库,只有拥有对应的权限;另一类是普通数据库的用户,用户信息存储位置为对应数据库下的system.users集合,此类用户只拥有所在数据库的访问权限。
需要注意的点:
1、给mongo创建用户的时候,需要先创建一个admin用户,然后再创建具体数据库的用户。具体的步骤后面会讲到。2、创建用户前不要使用带--auth参数来启动mongo,需要以非认证模式启动,用户创建成功后再以认证模式启动。
2.4以前版本
~# mongo MongoDB shell version: 2.3.* connecting to: test > >use admin >db.addUser("root", "root") ##读写权限 >db.addUser("admin", "admin", true) ##只读权限 >show tables >db.system.users.find() ##查询super admin用户 > >use youdb ##切换到具体的业务DB >db.addUser("user", "user") ##读写权限 >db.addUser("user2", "user2", true) ##只读权限 >show tables >db.system.users.find() ##查询youdb数据的用户
2.4之后版本
~# mongo MongoDB shell version: 2.4.* connecting to: test > >use admin >db.addUser({ user:'root', pwd:'root', roles:[ "readWrite", ##admin数据库的读写权限 "dbAdmin", ##admin数据库的管理权限 "userAdmin"], ##admin数据库的用户管理权限 otherDBRoles:{ youdb:[ "readWrite", ##youdb数据库的读写权限 "dbAdmin", ##youdb数据库的管理权限 "userAdmin" ##youdb数据库的用户管理权限 ]} }) >db.addUser({user:'admin',pwd:'admin',roles:["read"]}) ##只读权限 >show tables >db.system.users.find() ##查询super admin用户 > >use youdb ##切换到具体的业务DB >db.addUser({user:'user',pwd:'user',roles:["readWrite"]) ##读写权限 >db.addUser({user:'user2',pwd:'user2',roles:["read"]) ##只读权限 >show tables >db.system.users.find() ##查询youdb数据的用户
2.6之后版本
~# mongo MongoDB shell version: 2.6.* connecting to: test > >use admin >db.addUser({ user:'root', pwd:'root', roles:[ { role:"dbAdminAnyDatabase", db:"admin" }, { role:"userAdminAnyDatabase",##任意数据库的用户管理权限 db:"admin" }, { role:"userAdmin",##youdb数据库的用户管理权限 db:"youdb" }, { role:"readWrite",##youdb数据库的读写权限 db:"youdb" }] }) >show tables >db.system.users.find() ##查询super admin用户 > >use youdb ##切换到具体的业务DB >db.addUser({ user:'user', pwd:'user', roles:[ { role:"read",##youdb数据库的只读权限 db:"youdb" },{ role:"readWrite",##youdb数据库的读写权限 db:"youdb" }] }) >show tables >db.system.users.find() ##查询youdb数据的用户
3.0之后版本
~# mongo MongoDB shell version: 3.2.* connecting to: test > >use admin >db.createUser({ user:'root', pwd:'root', roles:[ { role:"dbAdminAnyDatabase", db:"admin" }, { role:"readWriteAnyDatabase",##任意数据库的读写权限 db:"admin" }, { role:"userAdmin",##youdb数据库的用户管理权限 db:"youdb" }, { role:"readWrite",##youdb数据库的读写权限 db:"youdb" }] }) >show tables >db.system.users.find() ##查询super admin用户 > >use youdb ##切换到具体的业务DB >db.addUser({ user:'user', pwd:'user', roles:[ { role:"read",##youdb数据库的只读权限 db:"youdb" },{ role:"readWrite",##youdb数据库的读写权限 db:"youdb" }] }) >show tables >db.system.users.find() ##查询youdb数据的用户
mongo用户认证登录
~# mongo MongoDB shell version: 2.4.9 connecting to: test > >use admin >db.auth('root', 'root') >show dbs ~# mongo MongoDB shell version: 2.4.9 connecting to: test > >use youdb >db.auth('user', 'user') >show dbs
相关文章推荐
- ylmf3.0 分配修改登录root用户管理权限的方法
- Windows 8系统默认开启的.Net Framework版本是4.0,而部分用户可能需要使用到3.5或以下版本,简单添加方法
- mongodb查看操作记录方法以及用户添加删除权限修改密码
- ylmf OS 3.0 分配修改登陆root用户管理权限的方法
- mongodb权限设置之添加管理员、普通用户的方法
- Linux 怎么实现添加FTP用户并设置权限的方法
- vista忘记用户名密码的修改方法(使用PE进入系统,用cmd.exe冒充虚拟键盘,然后就可以mmc组策略,或者命令行添加用户并提升权限)
- 给MongoDB添加用户权限方法分享
- ylmf OS 3.0 分配修改登陆root用户管理权限的方法
- C# Windows帐户和目录添加用户权限方法
- SA权限添加管理员帐号的SQL命令与命令行下添加SQL用户的方法
- XP添加权限时提示:无法显示用户选项对话框的解决方法!
- 给MongoDB添加用户权限方法分享
- mongodb权限设置之添加管理员、普通用户的方法
- httpd-2.2及httpd-2.4版本实现对文件和用户的权限管理以及网页的https的功能
- MongoDB 3.0以上版本设置访问权限、设置用户
- C# Windows帐户和目录添加用户权限方法
- mongodb权限设置之添加管理员、普通用户的方法
- mongodb权限设置之添加管理员、普通用户的方法
- C# Windows帐户和目录添加用户权限方法