ฉันพยายามเพิ่มการอนุญาตให้ MongoDB ของฉัน
ฉันทำทั้งหมดนี้บน Linux ด้วย MongoDB 2.6.1
ไฟล์ mongod.conf ของฉันอยู่ในรูปแบบความเข้ากันได้แบบเก่า
(นี่คือวิธีที่มันมาพร้อมกับการติดตั้ง)
1) ฉันสร้างผู้ดูแลระบบตามที่อธิบายไว้ที่นี่ใน (3)
http://docs.mongodb.org/manual/tutorial/add-user-administrator/
2) ฉันแก้ไข mongod.conf โดยไม่แสดงข้อคิดเห็นบรรทัดนี้
auth = true
3) ในที่สุดฉันก็เริ่มบริการ mongod และฉันพยายามที่จะเข้าสู่ระบบด้วย:
/usr/bin/mongo localhost:27017/admin -u sa -p pwd
4) ฉันสามารถเชื่อมต่อ แต่มันบอกว่านี้เมื่อเชื่อมต่อ
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:47:16 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
5) ดูเหมือนว่าsa
ผู้ใช้รายนี้ที่ฉันสร้างไว้ไม่มีสิทธิ์เลย
root@test02:~# mc
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:57:03 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
[admin] 2014-05-29 17:57:03.011 >>> use admin
switched to db admin
[admin] 2014-05-29 17:57:07.889 >>> show collections
2014-05-29T17:57:10.377-0400 error: {
"$err" : "not authorized for query on admin.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[admin] 2014-05-29 17:57:10.378 >>> use test
switched to db test
[test] 2014-05-29 17:57:13.466 >>> show collections
2014-05-29T17:57:15.930-0400 error: {
"$err" : "not authorized for query on test.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[test] 2014-05-29 17:57:15.931 >>>
อะไรคือปัญหา? ฉันทำซ้ำขั้นตอนทั้งหมดนี้ 3 ครั้งและ
ฉันคิดว่าฉันทำทุกอย่างตามที่ระบุในเอกสาร MongoDB แต่มันไม่ทำงาน
ฉันคาดหวังว่าsa
ผู้ใช้รายนี้จะได้รับอนุญาตให้ทำทุกอย่างเพื่อให้
เขาสามารถสร้างผู้ใช้รายอื่นและให้สิทธิ์ที่เฉพาะเจาะจงมากขึ้น