বাহ এত জটিল / বিভ্রান্তিকর উত্তর এখানে।
এটি v3.4 হিসাবে ।
সংক্ষিপ্ত উত্তর.
1) অ্যাক্সেস নিয়ন্ত্রণ ছাড়াই মঙ্গোডিবি শুরু করুন।
mongod --dbpath /data/db
2) উদাহরণ সাথে সংযোগ করুন।
mongo
3) ব্যবহারকারী তৈরি করুন।
use some_db
db.createUser(
{
user: "myNormalUser",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "some_db" },
{ role: "read", db: "some_other_db" } ]
}
)
4) মঙ্গোডিবি উদাহরণ বন্ধ করুন এবং অ্যাক্সেস নিয়ন্ত্রণ দিয়ে আবার এটি শুরু করুন।
mongod --auth --dbpath /data/db
5) সংযুক্ত এবং ব্যবহারকারী হিসাবে প্রমাণীকরণ।
use some_db
db.auth("myNormalUser", "xyz123")
db.foo.insert({x:1})
use some_other_db
db.foo.find({})
দীর্ঘ উত্তর: আপনি যদি সঠিকভাবে বুঝতে চান তবে এটি পড়ুন।
এটা সত্যিই সহজ। আমি নীচে নিঃশব্দে https://docs.mongodb.com/manual/tutorial/enable-authentication/
আপনি কী ভূমিকাটি সম্পর্কে আরও পড়তে পারেন সে সম্পর্কে যদি আপনি এখানে আরও জানতে চান: https://docs.mongodb.com/manual/references/built-in-roles/
1) অ্যাক্সেস নিয়ন্ত্রণ ছাড়াই মঙ্গোডিবি শুরু করুন।
mongod --dbpath /data/db
2) উদাহরণ সাথে সংযোগ করুন।
mongo
3) ব্যবহারকারী প্রশাসক তৈরি করুন। নিম্নলিখিতটি admin
প্রমাণীকরণের ডাটাবেজে একটি ব্যবহারকারী প্রশাসক তৈরি করে। ব্যবহারকারী ডাটাবেসের dbOwner
ওপরে some_db
এবং ডাটাবেসের উপরে নয় admin
, এটি মনে রাখা গুরুত্বপূর্ণ।
use admin
db.createUser(
{
user: "myDbOwner",
pwd: "abc123",
roles: [ { role: "dbOwner", db: "some_db" } ]
}
)
অথবা আপনি যদি কোনও অ্যাডমিন তৈরি করতে চান যা কোনও ডাটাবেসের মাধ্যমে প্রশাসক থাকে:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
4) মঙ্গোডিবি উদাহরণ বন্ধ করুন এবং অ্যাক্সেস নিয়ন্ত্রণ দিয়ে আবার এটি শুরু করুন।
mongod --auth --dbpath /data/db
5) admin
প্রমাণীকরণের ডাটাবেসের দিকে নয়, প্রমাণীকরণের ডাটাবেসের দিকে ব্যবহারকারী প্রশাসক হিসাবে সংযুক্ত হয়ে some_db
প্রমাণীকরণ করুন। ব্যবহারকারীর প্রশাসক admin
প্রমাণীকরণের ডাটাবেজে তৈরি হয়েছিল, প্রমাণীকরণের ডাটাবেজে ব্যবহারকারীর অস্তিত্ব নেই some_db
।
use admin
db.auth("myDbOwner", "abc123")
আপনি এখন ডাটাবেস dbOwner
ওভার হিসাবে প্রমাণীকরণ করা হয় some_db
। সুতরাং এখন আপনি যদি সরাসরি some_db
ডাটাবেসের দিকে স্টাফ পড়তে / লিখতে / করতে চান তবে আপনি এটিতে পরিবর্তন করতে পারবেন।
use some_db
//...do stuff like db.foo.insert({x:1})
// remember that the user administrator had dbOwner rights so the user may write/read, if you create a user with userAdmin they will not be able to read/write for example.
ভূমিকাগুলিতে আরও: https://docs.mongodb.com/manual/references/built-in-roles/
আপনি যদি অতিরিক্ত ব্যবহারকারী তৈরি করতে চান যা ব্যবহারকারী প্রশাসক নয় এবং যা কেবল সাধারণ ব্যবহারকারীরা নীচে পড়তে পারেন continue
6) একটি সাধারণ ব্যবহারকারী তৈরি করুন। এই ব্যবহারকারী some_db
নীচে প্রমাণীকরণ ডাটাবেস তৈরি করা হবে ।
use some_db
db.createUser(
{
user: "myNormalUser",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "some_db" },
{ role: "read", db: "some_other_db" } ]
}
)
7) মঙ্গো শেলটি থেকে প্রস্থান করুন, পুনরায় সংযোগ করুন, ব্যবহারকারী হিসাবে প্রমাণীকরণ করুন।
use some_db
db.auth("myNormalUser", "xyz123")
db.foo.insert({x:1})
use some_other_db
db.foo.find({})