MongoDB 加了权限验证,远程连接不上是什么原因?
发布于 3年前 作者 wangzhishou 3027 次浏览

不加权限验证的时候,是可以连接上的。 启动时加上了 --auth

./mongod --dbpath /home/db --port 27017 --logpath /home/log/mongodb/mongdb.log --logappend --fork --auth

加了权限验证本地可以验证。

MongoDB shell version: 2.0.4-rc1
connecting to: test
> use node_club
switched to db node_club
> show collections
Thu Mar 15 06:20:27 uncaught exception: error: {
        "$err" : "unauthorized db:node_club lock type:-1 client:127.0.0.1",
        "code" : 10057
 }
> db.auth("nodeclub","XXXXXXXXX")
1
> show collections
messages
replies
system.indexes
system.users
tagcollects
users
> quit()

但是这样连接不上: mongodb://nodeclub:XXXX@127.0.0.1:27017/node_club

日志显示是这样的

Thu Mar 15 06:30:53 [conn11]  authenticate: { authenticate: 1, user: "nodeclub", nonce:     "c9931b4d9c9162c9", key: "7545a53090daa76c96a032aa9eb6fc5e" }
Thu Mar 15 06:30:55 [conn11] end connection 222.128.130.173:63499
Thu Mar 15 06:30:56 [initandlisten] connection accepted from 222.128.130.173:64287 #12
Thu Mar 15 06:30:56 [conn12]  authenticate: { authenticate: 1, user: "nodeclub", nonce:    "551b9ac7ab0cab16", key: "88bab8ea983dc26a1e29e40502d09b09" }
Thu Mar 15 06:30:56 [conn12] end connection 222.128.130.173:64287
Thu Mar 15 06:34:23 [clientcursormon] mem (MB) res:43 virt:153 mapped:64

大家看看是什么原因。

8 回复

db nodeclub 加用户 nodeclub 了么?

和mysql的用户校验不太一样,mongo的权限在每个db中配置用户权限

admin库中的用户具有管理员权限,在admin验证通过之后,可以管理别的db,给别的db添加用户账号

嗯,就是在node_club这个里面加的。 shell命令是通的。 MongoDB shell version: 2.0.4-rc1 connecting to: test > use node_club switched to db node_club > show collections Thu Mar 15 06:20:27 uncaught exception: error: { “$err” : "unauthorized db:node_club lock type:-1 client:127.0.0.1", “code” : 10057 } > db.auth(“nodeclub","XXXXXXXXX”) 1 > show collections messages replies system.indexes system.users tagcollects users > quit()

@wangzhishou 但是这个不是返回错误信息了么 ? unauthorized 提示呢 ,shell的信息么?

@fish 第一次提示错误,然后我验证了一下通过了,你看后面的代码。

@fish > db.auth(“nodeclub","XXXXXXXXX”) 1

@wangzhishou 刚看到改了格式版本~,貌似连接么问题啊, 你用什么驱动 mongoskin?

@fish 我直接安装的这个。NodeClub

不好意思,头晕了。 是MongoD关闭后,node的服务也挂了

回到顶部