- A+
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()输出内容中文注释