اذهب إلى المحتوى

السؤال

نشر (معدل)

أحاول إضافة مستخدم جديد ليتم التحقق من اسم المستخدم وكلمة المرور بدلاً من الدخول مباشرةً إلى نسخة mongodb من خلال اتصال خارجي remote connection. 

واتبعت الخطوات المشروحة في التوثيق من خلال إضافة مستخدم جديد على جدول admin الموجود بشكل افتراضي:

use admin

db.addUser('admin123', '123');
db.auth('admin123','123');

وبعدها قمت بالخروج وتشغيل mongo مجدداً، ولكن لم يطلب اسم مستخدم وكلمة مرور وقام بالدخول تلقائياً من جديد.

ماهي المشكلة؟ وكيف يمكنني تطبيق هذه الحماية؟

تم التعديل في بواسطة Amir Alsaeed

Recommended Posts

  • 0
نشر

بعد إضافة المستخدم إلى جدول admin، يجب إعادة إجراء الاتصال مع إضافة الخيار: --auth، ولكن يتم اتباع الخطوات التالية بالترتيب لضمان تطبيق التحقق بالشكل الصحيح:

أولاً، يتم الاتصال ب mongodb دون الحاجة ل access control، من خلال الأمر التالي (مع استبدال المسار والقاعدة):

mongod --path /data/db

ثانياً، الاتصال من خلال تنفيذ: mongo

ثالثاً، إضافة مستخدم جديد كمدير، كما يمكنك تحديد صلاحيات محددة على قواعد بيانات بالتفصيل:

use dbname
db.createUser(
  {
    user: "admin",
    pwd: "admin",
    roles: [ { role: "readWrite", db: "dbname" },
             { role: "read", db: "another_db" } ]
  }
)

رابعاً، إيقاف الاتصال الحالي، وإعادة تشغيله من خلال الأمر التالي (مع استبدال المسار أيضاً بالمسار الخاص بك):

mongod --auth --path /data/db

والآن عند تغيير القاعدة يمكنك تحديد أي مستخدم سيقوم بتنفيذ العمليات من خلال الأمر auth:

use dbname
db.auth("admin", "admin")

ولتفعيل خاصية التحقق بالشكل افتراضي، يجب إزالة التعليق من السطر:

#auth=true

الموجود في الملف mongo.conf ضمن المسار: /etc/mongod.conf في مكان تنصيب mongo

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...