db.serverStatus()命名执行时报无权限问题的解决方法

  • A+
所属分类:MongoDB

1、问题描写

本日在执行db.serverStatus()敕令时给出了“ "大众errmsg"大众 : "大众not authorized on admin to execute command { serverStatus: 1.0 }"大众,”的差错提醒。

经由过程查询admin的权限已经是dbOwner的权限了,然后又陆续赋予了dbadmin等权限,问题仍然存在。

末了找到了Mongodb的权限列表,赋予了root权限终于可以把问题给办理了,然后又测试了其他几个权限都弗成以,这阐明db.serverStatus是服务器级其余敕令,必要mongodb的最高权限能力执行。

下面是问题处置的简单流程,分享给年夜家,以供参考。

2、差错内容

3、差错阐发

从获得的差错内容可知,是因为admin没有执行db.serverStatus()敕令的权限。

MongoDB Enterprise > use admin
switched to db admin
MongoDB Enterprise > show collections
system.users
system.version
MongoDB Enterprise > db.system.users.find()
{ "大众_id"大众 : "大众admin.admin"大众, "大众user"大众 : "大众admin"大众, "大众db"大众 : "大众admin"大众, "大众credentials"大众 : { "大众SCRAM-SHA-1"大众 : { "大众iterationCount"大众 : 10000, "大众salt"大众 : "大众BEN7SONYkewFMx3f67FNQw=="大众, "大众storedKey"大众 : "大众HjlvcjSpXpSKetcUbJyj350Xgjk="大众, "大众serverKey"大众 : "大众k2WEf2cHGgg9n3tyEMJyuKaRt3U="大众 } }, "大众roles"大众 : [{ "大众role"大众 : "大众dbOwner"大众, "大众db"大众 : "大众admin"大众 } ] }

依据查询成果可知,admin拥有dbOwner脚色权限,而执行db.serverStatus()敕令必要root脚色权限。

4、问题处置:

颠末查询表system.users表可知,必要为admin用户赋予root脚色能力执行db.serverStatus()敕令。

赋予脚色权限的操作敕令如下:

5、问题办理

赋予root脚色权限之后,再执行db.serverStatus()敕令就OK了,执行成果如下:

总结

以上便是这篇文章的全体内容了,愿望本文的内容对年夜家的进修或者事情具有必定的参考进修代价,假如有疑问年夜家可以留言交流,谢谢年夜家对剧本之家的支撑。

您可能感兴致的文章:

MongoDB db.serverStatus()输出内容中文注释

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: