MongoDB4.28开启权限认证配置用户密码登录功能(mongodb用户权限设置)没想到

随心笔谈2年前发布 admin
197 0 0

文章摘要

这篇文章介绍了如何在MongoDB中开启认证登录功能,包括配置文件修改、用户管理以及权限设置等内容。文章提到,MongoDB默认不启用认证,用户通过配置文件设置后,可以实现用户名和密码的权限认证登录。主要内容包括: 1. **配置认证功能**:修改mongdb.conf文件,将`auth`参数设置为`true`,以便启用认证登录。 2. **创建用户**:为admin数据库创建管理员账号,为mytest数据库创建普通用户,用户信息包含用户名、密码和对应的数据库信息。 3. **验证用户权限**:通过`db.auth()`方法验证用户权限,确保用户只能访问其对应的数据库。 4. **权限管理**:用户可以通过`db.createUser()`方法创建用户,并设置读写权限;通过`db.dropUser()`删除用户,或`db.updateUser()`修改用户信息。 5. **重启服务**:配置完成后,需要重启MongoDB服务以生效。 文章还强调了用户在不同数据库间切换时的权限限制,以及在认证登录时权限验证的严格性。



目录1、查看是否开启认证登录2、开启用户名和密码认证(创建用户均需进入admin数据库)2.1、为admin数据库创建管理员账号2.2、为数据库mytest创建普通用户2.3、配置文件开启用户名密码认证3、重启mongo服务4、mongo授权访问4.1、admin数据库授权登录4.1、mytest数据库授权登录

MongoDB默认不启用授权认证,只要能连接到该服务器,就可连接到mongod。若要启用安全认证,需要更改配置文件mongdb.conf中的参数auth。

MongoDB的用户是跟数据库相关联的,具体的数据库,需要有对应的用户,超级管理员也不能操作其他数据库的。

MongoDB存储所有的用户信息在admin 数据库的集合system.users中,保存用户名、密码和数据库信息。

MongoDB开启权限认证:配置用户名和密码认证登录,操作步骤:

$cd /usr/local/mongodb/bin
$cat mongodb.conf

#数据文件存放目录

dbpath=/usr/local/mongodb/data

#日志文件存放目录

logpath=/usr/local/mongodb/logs/mongodb.log

logappend=true

#端口

port=27017

#以守护程序的方式启用,即在后台运行

fork=true

#认证模式(true代表开启认证登录,false代表未开启认证登录)

auth=false   

#远程连接

bind_ip=0.0.0.0

1、数据库admin创建管理员账号

[root@hadoop-master bin]# mongo
> use admin
> db.createUser({user:”root”,pwd:”lianshi”,roles:[“root”]})

2、查看目前用户

> show users

1、给数据库mytest创建cg用户

>use mytest
> db.createUser({user:”cg”,pwd:”lianshi”,roles:[{role:”readWrite”,db:”mytest”}]})

2、查看目前用户

> show users
>db.system.users.find()命令可以查看新创建的用户
#认证模式(true代表开启认证登录,false代表未开启认证登录)
auth=true
[root@hadoop-master bin]# ps -ef |grep mongo
[root@hadoop-master bin]# kill -9 15231
$https://www.jb51.net/article/mongod -f mongodb.conf

1、mongo访问

[root@hadoop-master bin]# mongo
> use admin
switched to db admin
> show users
2020-06-21T20:14:59.735+0800 E QUERY [js] uncaught exception: Error: command usersInfo requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1638:15
shellHelper.show@src/mongo/shell/utils.js:883:9
shellHelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1 –>授权配置并重启后,此时查看用户,会发现没有权限

2、用用户和密码登录

> db.auth(“root”,”lianshi”)

—>使用db.auth(“root”,”lianshi”)启用auth认证,看到返回的值为1,这就表示启动成功了,然后我们再使用命令查看用户和数据库。

1、mongo访问

> use mytest;
switched to db mytest
> show users
2020-06-21T21:25:41.293+0800 E QUERY [js] uncaught exception: Error: command usersInfo requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1638:15
shellHelper.show@src/mongo/shell/utils.js:883:9
shellHelper@src/mongo/shell/utils.js:790:15
@(shellhelp2):1:1 —>报错没有权限

2、用户和密码登录用户

> db.auth(“cg”,”lianshi”);

使用db.auth(“cg”,”lianshi”)启用auth认证,看到返回的值为1,这就表示启动成功了,然后我们再使用命令查看用户和数据库。

> show dbs
mytest 0.000GB
> db.student.insert()

其他用户命令:

1、创建普通用户(创建用户cg,对mytest数据库读写权限)

> db.createUser({user:”cg”,pwd:”lianshi”,roles:[{role:”readWrite”,db:”mytest”}]})

2、删除用户>db.dropUser(“yonghu”)

3、修改用户密码

db.updateUser(“cg”,{pwd:”123456″})

4、进入数据mytest,用户名密码认证

> db.auth(“cg”,”lianshi”);

5、客户端工具授权登录连接mongo数据库

用户名和密码连接数据库

到此这篇关于MongoDB4.28开启权限认证配置用户密码登录功能的文章就介绍到这了,更多相关MongoDB权限认证登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:MongoDB开启权限认证的方法步骤详解Mongodb 3.2.9开启用户权限认证问题的步骤详解

© 版权声明

相关文章