[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パーミッション構成