mongodb07---用户权限

Posted 672530440

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb07---用户权限相关的知识,希望对你有一定的参考价值。

用户管理:


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


use admin   //在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin , 相当于进入超级用户管理模式。在mysql中建立用户名和密码是以库表主机为单位,mongo中简单一些是以库为单位的,每个数据库有自己的管理员。
//要想设置用户,先切到admin下,建立一个管理员,以后这个管理员就是超级管理员。
//需要先在admin数据库下建立管理员---这个管理员登陆后,相当于超级管理员.


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

1: 添加用户
> use admin
> db.addUser(‘sa’,’sa’,false);

2: 认证
> use test
> db.auth(用户名,密码);

3: 修改用户密码
> use test
> db.changeUserPassword(用户名, 新密码);

3:删除用户
> use test
> db.removeUser(用户名);

注: 如果需要给用户添加更多的权限,可以用json结构来传递用户参数
例:
> use test
>db.addUser({user:guan,pwd:111111,roles:[‘readWrite,dbAdmin‘]});


db.addUser();
{user:xx,pwd:yy,roles:[‘readWrite‘]}
一般用户可以简化为:  db.addUser(user,pwd,isReadOnly);

roles有:
read,readWrite,dbAdmin,userAdmin,clusterAdmin,readAnyDatabase,readWriteAnyDatabase,userAdminAnyDatabase,dbAdminAnyDatabase

db.removeUser(userName);

db.changeUserPassword(userName,newPwd);
db.auth(user,pwd);

 

以上是关于mongodb07---用户权限的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

Nodejs/mongodb - 检查用户是不是具有管理员权限(基于令牌的身份验证)

教程4 - 验证和权限

MongoDB的权限管理

MongoDB设置用户密码后报权限问题

Django REST框架--认证和权限