لن يتم تحديث LDAP في حالة وجود بيانات مخزنة مؤقتًا

StackOverflow https://stackoverflow.com/questions/436976

سؤال

لدينا عميل SELinux يقوم بتوثيق مستخدمي الشبكة باستخدام LDAP المتصل بخادم Active Directory.نظرًا لأن أجهزتنا يجب أن تعمل "غير مربوطة"، فعلينا استخدام nscd لتخزين معلومات المجموعة وpasswd مؤقتًا.

ها هي القضية.إذا قمنا بتغيير معلومات المجموعة على خادم Active Directory، ثم قمنا بتسجيل الدخول على العميل، وإذا كانت هناك ذاكرة تخزين مؤقت لهذا المستخدم، فيبدو أن LDAP يتجاهل الخادم ويستخدم البيانات المخزنة مؤقتًا فقط.الطريقة الوحيدة التي تمكنا من الحصول على تحديث هي إبطال ذاكرة التخزين المؤقت لكلمة المرور.

جزء كبير من /etc/nsswitch.conf:

    passwd: file ldap cache
    group:  file ldap cache
    shadow: file ldap cache

شكرًا.

تحديث: برزت في الجري strace getent passwd يتم فحص ذاكرة التخزين المؤقت nscd قبل قراءة /etc/nsswitch.conf، لذلك لا يهم تكوين nss.

التحديث 2: اللعب مع nss_updatedb اليوم لمعرفة ما إذا كان سيعمل.حتى الآن لا يوجد فرح، على الرغم من هذه الطريقة يبدو بالضبط ما يتعين علينا القيام به.

هل كانت مفيدة؟

المحلول 2

لقد قمنا أخيرًا بحل هذه المشكلة باستخدام nss_updatedb للتخزين المؤقت لقواعد بيانات المجموعة وpasswd محليًا.ثم قمنا بإيقاف تشغيل nscd.

أضفنا وحدة pam_exec إلى قائمة pam.d واستخدمناها لتشغيل nss_updatedb قبل المصادقة للتأكد من تحديث ذاكرة التخزين المؤقت المحلية.

نصائح أخرى

إذا كنت لا تريد تخزين النتائج من الدليل النشط مؤقتًا، فأنت بحاجة إما إلى إيقاف تشغيل nscd أو ضبط مدة حياة ذاكرة التخزين المؤقت الخاصة به على بضع دقائق (تحرير /etc/nscd.conf).أعتقد أن الوقت الافتراضي للعيش هو 10 دقائق لكلمة المرور وساعة للمجموعة.

يمكنك مسح ذاكرة التخزين المؤقت nscd بسهولة باستخدام الأوامر التالية:

sudo nscd -i passwd
sudo nscd -i group

بعد مسح ذاكرة التخزين المؤقت nscd بالأوامر المحددة، سترى بيانات LDAP التي تم تغييرها.

لمزيد من التفاصيل انظر: http://sysadmin-notepad.blogspot.rs/2013/05/how-to-flush-nscd-cache-in-linux.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top