[MongoDB]コマンドを実行するためのテストで許可されていません-MongoDBパーミッション構成



Not Authorized Test Execute Command Mongodb Permission Configuration



コマンド「$ eval」が失敗したことを直接報告します。このエラーでは承認されていません。権限の問題であることを確認できます

解決

公式サイトにて http://docs.mongodb.org/manual/reference/command/eval/#dbcmd.eval 説明があります:



承認が有効になっている場合、evalを実行するには、すべてのリソースに対するすべてのアクションにアクセスできる必要があります。このようなアクセスを提供することはお勧めしませんが、組織でユーザーにevalの実行が必要な場合は、anyResourceでanyActionを付与するロールを作成してください。この役割を他のユーザーに割り当てないでください。

解決手順

1)-authパラメーターを指定せずにデータベースを起動して、アカウントなしでMongoDBに接続できるようにします。



/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --fork

または、構成ファイルを変更します。

auth = false

2)sysadminなどの新しいロールを作成するには、管理ライブラリに切り替えて次の操作を実行する必要があります。

> use admin switched to db admin > db.createRole({role:'sysadmin',roles:[], privileges:[ {resource:{anyResource:true}, actions:['anyAction']} ] })

3)次に、新しいユーザーを作成し、この役割を使用します。このロールのデータベースはadminであることに注意してください。操作は次のとおりです。



> db.createUser({ user:'your_user_name', pwd:'your_password', roles:[ {role:'sysadmin',db:'admin'} ] })

では、-authを使用してデータベースを再起動します。

/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --fork --auth

または、構成ファイルを変更します。

auth = true

起動が成功したら、上記で作成したユーザーを使用して接続します(接続時にユーザー名とパスワードを指定します)。その後、正常に実行できます

[root@xxxxx scripts]$ mongo admin --port your_port -u your_user_name -p your_password MongoDB shell version: 2.6.0 connecting to: 127.0.0.1:your_port/admin

この記事は以下から複製されています: [MongoDB]コマンドを実行するためのテストで許可されていません-MongoDBパーミッション構成