splitVector "errmsg" : "not authorized on test to execute command

青旅半醒 2022-07-15 09:09 254阅读 0赞

mongodb开启权限之后

splitVector 需要的权限。

user: test_da

db: test

拥有管理元权限 都不能执行成功:

db.system.users.find();

{ “_id” : “admin.dba”, “user” : “dba”, “db” : “admin”, “credentials” : { “SCRAM-SHA-1” : { “iterationCount” : 10000, “salt” : “q5TKyUEuYqP9hgTbrCsITQ==”, “storedKey” : “6g15leywZRsVMDldLi+uzTypFqs=”, “serverKey” : “JWcdgRShUZMcEJk+vh71E11zoXc=” } }, “roles” : [ { “role” : “userAdminAnyDatabase”, “db” : “admin” } ] }
{ “_id” : “test.test_da”, “user” : “test_da”, “db” : “test”, “credentials” : { “SCRAM-SHA-1” : { “iterationCount” : 10000, “salt” : “y+IxIWUp50tA/7V6WPsEsw==”, “storedKey” : “8UyEZA3HkcqbMOt0Fbrsjs/M090=”, “serverKey” : “Zdbm+6bujOMJnDvILZvmEFfuxJ0=” } }, “roles” : [ { “role” : “userAdminAnyDatabase”, “db” : “admin” }, { “role” : “readWriteAnyDatabase”, “db” : “admin” }, { “role” : “dbAdminAnyDatabase”, “db” : “admin” } ] }

{ “_id” : “admin.test_da”, “user” : “test_da”, “db” : “admin”, “credentials” : { “SCRAM-SHA-1” : { “iterationCount” : 10000, “salt” : “hc4oe75lJQynskBcK94s1g==”, “storedKey” : “IV0vwdd1Yo7YqraHAHcsd0I6ypY=”, “serverKey” : “8bv/5MH5EuEvlvuuMpT8//rzGeg=” } }, “roles” : [ { “role” : “userAdminAnyDatabase”, “db” : “admin” }, { “role” : “readWriteAnyDatabase”, “db” : “admin” }, { “role” : “dbAdminAnyDatabase”, “db” : “admin” }, { “role” : “__system”, “db” : “admin” } ] }

报错信息:

db.runCommand({splitVector: “test.nxtest_full”, keyPattern: {_id: 1}, maxChunkSizeBytes: 32000000}) ;
{
“ok” : 0,
“errmsg” : “not authorized on test to execute command { splitVector: \“test.nxtest_full\“, keyPattern: { _id: 1.0 }, maxChunkSizeBytes: 32000000.0 }“,
“code” : 13
}

解决办法:

use test
db.updateUser(“test_da”, {
roles : [
{ role: “readWrite”, db: “test” },
{ role : “clusterManager”, db : “admin” }
]

  1. \})

只需要给 clusterManager 角色就可以了, 而不是管理员角色就拥有所有权限。

发表评论

表情:
评论列表 (有 0 条评论,254人围观)

还没有评论,来说两句吧...

相关阅读