أحاول تنفيذ إغلاق الحساب بعد 3 محاولات فاشلة لتسجيل الدخول. الجذر معفى.

هذا ما لدي في ملف /etc/pam.d/system-auth حتى الآن

auth        required      pam_tally2.so deny=3 onerr=fail magic_root
account     required      pam_tally2.so

لقد أضفت السطر التالي في ملف /etc/pam.d/sshd الخاص بي

auth        required      pam_tally2.so deny=3 onerr=fail magic_root

ومع ذلك، هذا لا يعمل. لقد حاولت تسجيل الدخول عبر SSH باستخدام مستخدم غير جذر للاختبار وكلمة مرور خاطئة ولكنها لا تغلقني.

ومع ذلك ، إذا قمت بتعديل ملف /etc/pam.d/sshd وأزلت سطر magic_root ، مثل:

auth        required      pam_tally2.so deny=3 onerr=fail

سيتم قفل الحساب التجريبي.

هل أفتقد شيئًا ما هناك؟

أيضًا ، هل يمكن لشخص ما أن يشرح الفرق بين /etc/pam.d/system-auth و /etc/pam.d/password-auth ؟ هل يجب إدخال إعدادات مثل هذه في مصادقة النظام أو مصادقة كلمة المرور؟ شكرا

answer

ليس لدي خبرة شخصية ، لكنني أعتقد أنك ربما أخطأت في قراءة صفحة الرجل pam_tally2.

يقول لي

magic_root

If the module is invoked by a user with uid=0 the counter is not incremented. The sysadmin should use this for user launched services, like su, otherwise this argument should be omitted.

لاحظ التعليق حول الاستخدام فقط مع su. لماذا ا؟ لأن معظم أوقات أخرى، وهذه الوحدة alwaysالتي يحتج بها المستخدم مع EUID 0، حيث أن معظم خدمات النظام التي سوف تستخدم هذه الوحدة ( passwd، sshd، الخ) تشغيل كجذر، والواقع أنها لا بد منه.

إذن ما العلامة التي تحتاج إلى ضبطها لتجنب قفل الجذر بواسطة هذه الوحدة تحت على سبيل المثال sshd؟ تنص صفحة الدليل أيضًا على ما يلي:

Normally, failed attempts to access root will not cause the root account to become blocked, to prevent denial-of-service: if your users aren´t given shell accounts and root may only login via su or at the machine console (not telnet/rsh, etc), this is safe.

بمعنى آخر ، السلوك الذي تريده هو بالفعل الافتراضي.