MongoDB默认设置为无权限访问限制注:研究成果基于Windows平台 在部署mongodb成功后,进入控制台: 输入命令:mongod use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里
输入命令:mongod use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看里我添加一个超级管理员用户,username为admin,password也为admin,即然我们添加了超级管理员,那咱们就来测试下,看看咱们再次连接MongoDB需不需要提示输入用户名、密码,我们先退出来
输入命令:mongod use admin
输入命令:show collections,查看该库下所有的表,你会发现,MongoDB并没有提示你输入用户名、密码,那就奇怪了,这是怎么回事呢?在文章最开始提到了,
MongoDB默认设置为无权限访问限制,即然这样,那我们就先把它设置成为需要权限访问限制,咱们再看看效果,怎么设置呢?
在注册表中,找到MongoDB的节点,在它的ImgPath中,我们修改一下,加入 -auth,如下所示:mongod
"D:\Program Files\mongodb\bin\mongod" -dbpath e:\work\data\mongodb\db -logpath e:\work\data\mongodb\log -auth -service
系统管理:密码管理、系统配置、数据库备份、后台日志管理 管理员管理模块:管理员的添删改查以及管理员的权限设置 会员管理系统:注册会员的管理 IP锁定管理:IP地址的锁定 企业信息模块:公司简介、公司文化等栏目的随意设置 新闻系统模块:公司新闻、文章发布 产品系统模块:包括产品类别管理 友情连接模块:友情连接管理 招聘系统模块:招聘发布以及应聘管理 在线留言系统:客户留言信息的管理
0
注:进入系统注册表(WIN+R-->regedit),找到[HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services-->MongoDB]在右边的健-值列表中打到 “ImagePath”
修改完成后再次进入控制台,发现需要密码验证了。
输入用户名和密码就可以验证了。 
别急,还没有完。
当退出窗口后,再次启动进入窗口后,通过use mydatabase来切换另一个库后,查看库下面的表,发现又没有权限了。但是,通过之前命令先进入admin库,然后验证用户名和密码后再进入mydatabase库就没有问题。这样我们就可以进入mydatabase库后在添加用户 db.addUser(username,password);
这样就可以通过用户名和密码来进入mydatabase库了。
同样在linux的环境下,需要在启动的服务后面添加auth的参数来启动权限访问控制。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号