আমি স্থানীয় এবং উত্পাদনে একই সংযোগের স্ট্রিংটি ব্যবহার করছি। সংযোগ স্ট্রিং যখন হয়mongodb://localhost/mydb
ব্যবহারকারীর নাম এবং পাসওয়ার্ড কী? এটি কি এভাবে রাখা নিরাপদ?
আমি স্থানীয় এবং উত্পাদনে একই সংযোগের স্ট্রিংটি ব্যবহার করছি। সংযোগ স্ট্রিং যখন হয়mongodb://localhost/mydb
ব্যবহারকারীর নাম এবং পাসওয়ার্ড কী? এটি কি এভাবে রাখা নিরাপদ?
উত্তর:
ডিফল্টরূপে মংডোব-এর কোনও অ্যাক্সেস নিয়ন্ত্রণ সক্ষম নেই, তাই কোনও ডিফল্ট ব্যবহারকারী বা পাসওয়ার্ড নেই।
অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করতে কমান্ড লাইন বিকল্প --auth
বা সুরক্ষা ব্যবহার করুন uthor অনুমোদন কনফিগারেশন ফাইল সেটিংস।
আপনি নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন বা মঙ্গোডিবি ডক্সে অ্যাথ সক্ষম করার বিষয়ে উল্লেখ করতে পারেন ।
অ্যাক্সেস নিয়ন্ত্রণ ছাড়াই মঙ্গোডিবি শুরু করুন।
mongod --port 27017 --dbpath /data/db1
দৃষ্টান্তের সাথে সংযুক্ত করুন।
mongo --port 27017
ব্যবহারকারী প্রশাসক তৈরি করুন।
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
অ্যাক্সেস নিয়ন্ত্রণের সাথে মংগাডিবি পুনরায় সূচনা করুন।
mongod --auth --port 27017 --dbpath /data/db1
ব্যবহারকারী প্রশাসক হিসাবে প্রমাণীকরণ।
mongo --port 27017 -u "myUserAdmin" -p "abc123" \
--authenticationDatabase "admin"
@ ক্যামিলো সিলভা ইতিমধ্যে উল্লেখ করেছে তার সাথে আপনি যদি ডেটাবেসগুলি তৈরি করতে, পড়তে, উপাত্ত লিখতে, ইত্যাদির জন্য বিনামূল্যে অ্যাক্সেস দিতে চান তবে আপনি মূল ভূমিকা তৈরি করতে না চান, আপনি নিম্নলিখিতটি দিয়ে তৃতীয় ধাপটি পরিবর্তন করতে পারেন:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
}
)
মোংগোডিবি-র জন্য ২.6-এরও আগে, মূল ব্যবহারকারী যুক্ত করার কমান্ডটি addUser
(যেমন)
db.addUser({user:'admin',pwd:'<password>',roles:["root"]})
db.addUser
। ২.6 শুরু এবং বর্তমান সংস্করণ 3.4.x এ আপনি একটি ব্যবহারকারী তৈরি করতে পারেন db.CreateUser
।
পূর্বে সরবরাহ করা উত্তরগুলি ছাড়াও, আপনার ডিবি অ্যাক্সেস নিয়ন্ত্রণ ( --auth
স্যুইচ) দিয়ে ইতিমধ্যে চালু করা থাকলে প্রথম ব্যবহারকারী তৈরি করতে 'লোকালহোস্ট ব্যতিক্রম' পদ্ধতির অনুসরণ করা একটি বিকল্প । এটি করার জন্য, আপনার সার্ভারে লোকালহোস্ট অ্যাক্সেস থাকা দরকার এবং তারপরে চালনা করুন:
mongo
use admin
db.createUser(
{
user: "user_name",
pwd: "user_pass",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" }
]
})
মঙ্গোডিবি ডকুমেন্টেশনে যেমন বলা হয়েছে:
লোকালহোস্ট ব্যতিক্রম আপনাকে অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করতে এবং তারপরে সিস্টেমে প্রথম ব্যবহারকারী তৈরি করতে দেয়। লোকালহোস্ট ব্যতিক্রম সহ, আপনি অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করার পরে লোকালহোস্ট ইন্টারফেসের সাথে সংযুক্ত হন এবং অ্যাডমিন ডাটাবেসে প্রথম ব্যবহারকারী তৈরি করুন। অন্যান্য ব্যবহারকারীর তৈরির জন্য প্রথম ব্যবহারকারীর অবশ্যই বিশেষাধিকার থাকতে হবে যেমন ইউজার অ্যাডমিন বা ইউজারএডমিনঅ্যানি ডেটাবেস ভূমিকা সহ ব্যবহারকারী। লোকালহোস্ট ব্যতিক্রমগুলি ব্যবহার করে সংযোগগুলিতে কেবল প্রশাসক ডাটাবেসে প্রথম ব্যবহারকারী তৈরি করার অ্যাক্সেস থাকে।
ডক্সের সেই বিভাগটির লিঙ্কটি এখানে ।