मैं स्थानीय और उत्पादन पर एक ही कनेक्शन स्ट्रिंग का उपयोग कर रहा हूं। जब कनेक्शन स्ट्रिंग mongodb है: // localhost/mydbMongoDB डिफ़ॉल्ट उपयोगकर्ता और पासवर्ड क्या हैं?
उपयोगकर्ता और पासवर्ड क्या हैं? क्या यह इस तरह से सुरक्षित है?
मैं स्थानीय और उत्पादन पर एक ही कनेक्शन स्ट्रिंग का उपयोग कर रहा हूं। जब कनेक्शन स्ट्रिंग mongodb है: // localhost/mydbMongoDB डिफ़ॉल्ट उपयोगकर्ता और पासवर्ड क्या हैं?
उपयोगकर्ता और पासवर्ड क्या हैं? क्या यह इस तरह से सुरक्षित है?
डिफ़ॉल्ट रूप से mongodb में कोई एक्सेस नियंत्रण सक्षम नहीं है, इसलिए कोई डिफ़ॉल्ट उपयोगकर्ता या पासवर्ड नहीं है।
एक्सेस नियंत्रण सक्षम करने के लिए, कमांड लाइन विकल्प --auth
या सुरक्षा। प्राधिकरण कॉन्फ़िगरेशन फ़ाइल सेटिंग का उपयोग करें।
आप निम्नलिखित प्रक्रिया का उपयोग कर सकते हैं या MongoDB दस्तावेज़ों में Enabling Auth देखें।
अभिगम नियंत्रण के बिना प्रारंभ MongoDB।
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"
MongoDB पहले की तुलना में 2.6 के लिए, एक जड़ उपयोगकर्ता को जोड़ने का आदेश addUser
(जैसे)
db.addUser({user:'admin',pwd:'<password>',roles:["root"]})
टाइपरर: db.addUser कोई फ़ंक्शन नहीं है –
संस्करण 2.6 तक आपके पास 'db.addUser' था। 2.6 और वर्तमान संस्करण 3.4.x में आप एक उपयोगकर्ता को 'db.CreateUser' के साथ बना सकते हैं। –
क्या @Camilo सिल्वा पहले ही उल्लेख के साथ इसके अलावा, अगर आप चाहते हैं दे रहा है डेटाबेस बनाने, पढ़ने, लिखने के डेटाबेस आदि के लिए मुफ्त पहुंच, लेकिन आप रूट भूमिका नहीं बनाना चाहते हैं, आप निम्न के साथ तीसरा चरण बदल सकते हैं:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
}
)
यदि उपयोगकर्ता भूमिका उपयोगकर्ताAdminAnyDatabase के साथ बनाया गया है, तो किसी भी डेटाबेस को बनाना असंभव होगा। इसलिए भूमिका अनुभाग होना चाहिए: भूमिकाएं: [{भूमिका: "रूट", डीबी: "व्यवस्थापक"}] – georgeos
कृपया [मोंगोडीबी मैनुअल से मूल पोस्ट] लिंक करें (https://docs.mongodb.com/manual/tutorial/enable - प्रमाणीकरण /) –