মংগোডিবি ডিফল্ট ব্যবহারকারী এবং পাসওয়ার্ড কী?


103

আমি স্থানীয় এবং উত্পাদনে একই সংযোগের স্ট্রিংটি ব্যবহার করছি। সংযোগ স্ট্রিং যখন হয়mongodb://localhost/mydb

ব্যবহারকারীর নাম এবং পাসওয়ার্ড কী? এটি কি এভাবে রাখা নিরাপদ?

উত্তর:


210

ডিফল্টরূপে মংডোব-এর কোনও অ্যাক্সেস নিয়ন্ত্রণ সক্ষম নেই, তাই কোনও ডিফল্ট ব্যবহারকারী বা পাসওয়ার্ড নেই।

অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করতে কমান্ড লাইন বিকল্প --authবা সুরক্ষা ব্যবহার করুন uthor অনুমোদন কনফিগারেশন ফাইল সেটিংস।

আপনি নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন বা মঙ্গোডিবি ডক্সে অ্যাথ সক্ষম করার বিষয়ে উল্লেখ করতে পারেন ।

পদ্ধতি

  1. অ্যাক্সেস নিয়ন্ত্রণ ছাড়াই মঙ্গোডিবি শুরু করুন।

    mongod --port 27017 --dbpath /data/db1
    
  2. দৃষ্টান্তের সাথে সংযুক্ত করুন।

    mongo --port 27017
    
  3. ব্যবহারকারী প্রশাসক তৈরি করুন।

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
  4. অ্যাক্সেস নিয়ন্ত্রণের সাথে মংগাডিবি পুনরায় সূচনা করুন।

    mongod --auth --port 27017 --dbpath /data/db1
    
  5. ব্যবহারকারী প্রশাসক হিসাবে প্রমাণীকরণ।

    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"
    

17
ব্যবহারকারী যদি ভূমিকা ব্যবহারকারীআডমিনএইডিটাবেস দিয়ে তৈরি করা হয় তবে কোনও ডাটাবেস তৈরি করা অসম্ভব হবে। সুতরাং ভূমিকা বিভাগগুলি হওয়া উচিত: ভূমিকা: [{ভূমিকা: "রুট", ডিবি: "অ্যাডমিন"}]
জর্জিয়াস


4
আপনি যদি ডিবিপাথ ব্যবহারটি সন্ধান করতে চান: গ্রেপ ডিবিপাথ /etc/mongod.conf
rckd

13

@ ক্যামিলো সিলভা ইতিমধ্যে উল্লেখ করেছে তার সাথে আপনি যদি ডেটাবেসগুলি তৈরি করতে, পড়তে, উপাত্ত লিখতে, ইত্যাদির জন্য বিনামূল্যে অ্যাক্সেস দিতে চান তবে আপনি মূল ভূমিকা তৈরি করতে না চান, আপনি নিম্নলিখিতটি দিয়ে তৃতীয় ধাপটি পরিবর্তন করতে পারেন:

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, 
             { role: "dbAdminAnyDatabase", db: "admin" }, 
             { role: "readWriteAnyDatabase", db: "admin" } ]
  }
)

4

মোংগোডিবি-র জন্য ২.6-এরও আগে, মূল ব্যবহারকারী যুক্ত করার কমান্ডটি addUser(যেমন)

db.addUser({user:'admin',pwd:'<password>',roles:["root"]})

4
সংস্করণ 2.6 পর্যন্ত আপনার কাছে ছিল db.addUser। ২.6 শুরু এবং বর্তমান সংস্করণ 3.4.x এ আপনি একটি ব্যবহারকারী তৈরি করতে পারেন db.CreateUser
রাজ্জান ডুমিত্রু


1

পূর্বে সরবরাহ করা উত্তরগুলি ছাড়াও, আপনার ডিবি অ্যাক্সেস নিয়ন্ত্রণ ( --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" }
        ]
 })

মঙ্গোডিবি ডকুমেন্টেশনে যেমন বলা হয়েছে:

লোকালহোস্ট ব্যতিক্রম আপনাকে অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করতে এবং তারপরে সিস্টেমে প্রথম ব্যবহারকারী তৈরি করতে দেয়। লোকালহোস্ট ব্যতিক্রম সহ, আপনি অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করার পরে লোকালহোস্ট ইন্টারফেসের সাথে সংযুক্ত হন এবং অ্যাডমিন ডাটাবেসে প্রথম ব্যবহারকারী তৈরি করুন। অন্যান্য ব্যবহারকারীর তৈরির জন্য প্রথম ব্যবহারকারীর অবশ্যই বিশেষাধিকার থাকতে হবে যেমন ইউজার অ্যাডমিন বা ইউজারএডমিনঅ্যানি ডেটাবেস ভূমিকা সহ ব্যবহারকারী। লোকালহোস্ট ব্যতিক্রমগুলি ব্যবহার করে সংযোগগুলিতে কেবল প্রশাসক ডাটাবেসে প্রথম ব্যবহারকারী তৈরি করার অ্যাক্সেস থাকে।

ডক্সের সেই বিভাগটির লিঙ্কটি এখানে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.