MongoDB设置访问权限设置用户.docx

MongoDB设置访问权限设置用户.docx

ID:59253941

大小:12.67 KB

页数:2页

时间:2020-09-08

MongoDB设置访问权限设置用户.docx_第1页
MongoDB设置访问权限设置用户.docx_第2页
资源描述:

《MongoDB设置访问权限设置用户.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MongoDB设置访问权限、设置用户MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下:注:研究成果基于Windows平台MongoDB在本机安装部署好后1.输入命令:showdbs,你会发现它内置有两个数据库,一个名为admin,一个名为local。local好像没啥用,如果哪位在使用过程中发现了这个local表的用途,希望能够留言提醒,那我们就专心来说说admin表2.输入命令:useadmin,你会发现该DB下包含了一个system.user表,

2、呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看3.输入命令:db.addUser('sa','sa'),这里我添加一个超级管理员用户,username为sa,password也为sa,即然我们添加了超级管理员,那咱们就来测试下,看看咱们再次连接MongoDB需不需要提示输入用户名、密码,我们先退出来(ctrl+c)4.输入命令:useadmin5.输入命令:showcollections,查看该库下所有的表,你会发现,MongoDB并没有提示你输入用户名、密码,那就奇怪了,这是怎么回事呢?在文章最开始提到了,Mon

3、goDB默认设置为无权限访问限制,即然这样,那我们就先把它设置成为需要权限访问限制,咱们再看看效果,怎么设置呢?6.在注册表中,找到MongoDB的节点,在它的ImgPath中,我们修改一下,加入-auth,如下所示:"D:ProgramFilesmongodbbinmongod"-dbpath e:workdatamongodbdb -logpath e:workdatamongodblog-auth-service7.输入命令:useadmin8.输入命令:showcollections,呵呵,我们发现无法查看该库下的表了,提示:"$err":"un

4、authorizeddb:adminlocktype:-1client:127.0.0.1",很明显,提示没有权限,看来关键就在于这里,我们在启动MongoDB时,需要加上-auth参数,这样我们设置的权限才能生效,好,接下来我们使用刚刚之前设置的用户名、密码来访问9.输入命令:db.auth('sa','sa'),输出一个结果值为1,说明这个用户匹配上了,如果用户名、密码不对,会输入010.输入命令:showcollections,呵呵,结果出来了,到这里,权限设置还只讲到一多半,接着往下讲,我们先退出来(ctrl+c)11.输入命令:mongoTestDB,我们尝试连接一个

5、新的库(无论这个库是否存在,如果不存在,往该库中添加数据,会默认创建该库),然后,我们想看看该库中的表12.输入命令:showcollections,好家伙,没权限,我们输入上面创建的用户名、密码13.输入命令:db.auth('sa','sa'),输入结果0,用户不存在,这下有人可能就不明白了,刚刚前面才创建,怎么会不存在呢?原因在于:当我们单独访问MongoDB的数据库时,需要权限访问的情况下,用户名密码并非超级管理员,而是该库的system.user表中的用户,注意,我这里说的是单独访问的情况,什么是不单独访问的情况呢?接下来再讲,现在咋办,没权限,那我们就尝试给库的sy

6、stem.user表中添加用户14.输入命令:db.addUser('test',''),哇靠,仍然提示没有权限,这可咋办,新的数据库使用超级管理员也无法访问,创建用户也没有权限,呵呵,别急,即然设定了超级管理员用户,那它就一定有权限访问所有的库15.输入命令:useadmin16.输入命令:db.auth('sa','sa')17.输入命令:useTestDB18.输入命令:showcollections,哈哈,一路畅通无阻,我们发现可以利用超级管理员用户访问其它库了,呵呵,这个就是不单独访问的情况,不难发现,我们是先进入admin库,再转到其它库来的,admin相当于是一个

7、最高级别官员所在区域,如果你是个地产商,想在地方弄个大工程做做,你想不经过那些高级官员就做,这是行不通的,你需要先去到他们那里,送点礼,再顺着下到地方,工程你就可以拿到手了,此言论仅为个人观点,不代表博客园;即然工程拿到手了,就要开始建了,那我们不至于每加块砖、添个瓦都得去和那帮高级官员打招呼吧,所以我们得让这个工程合法化,咱们得把相关的手续和证件弄齐全,不至于是违建19.输入命令:db.addUser('test',''),我们给TestDB库添加一个用户,以后每次访问该库,我都使用刚刚创

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。