প্যাম - প্রয়োজনীয় এবং পর্যাপ্ত নিয়ন্ত্রণ পতাকা


14

আমি প্যাম অধ্যয়ন করছি এবং আমি নিয়ন্ত্রণ পতাকার কিছু সংমিশ্রণের অর্থ সম্পর্কে কিছুটা নিখুঁত। রেড হ্যাট ডকুমেন্টেশন থেকে আমাদের রয়েছে:

  • এই
    জাতীয় প্যামের প্রয়োজনীয় ব্যর্থতা চূড়ান্তভাবে পিএএম-এপিআই ফেরত ব্যর্থতার দিকে পরিচালিত করবে তবে কেবলমাত্র অবশিষ্ট স্ট্যাকড মডিউলগুলি (এই পরিষেবা এবং প্রকারের জন্য) আহ্বান করা হয়েছে

  • প্রয়োজনীয়
    মত প্রয়োজনীয়, তবে, এই জাতীয় মডিউল ব্যর্থতা ফিরে আসে সেই ক্ষেত্রে নিয়ন্ত্রণটি সরাসরি অ্যাপ্লিকেশনটিতে ফিরে আসে।


  • মডিউলগুলির স্ট্যাকের প্রমাণীকরণের প্রয়োজনীয়তা পূরণের জন্য এই জাতীয় মডিউলের যথেষ্ট সাফল্য যথেষ্ট (যদি পূর্বের প্রয়োজনীয় মডিউলটি ব্যর্থ হয়ে থাকে তবে এর সাফল্য উপেক্ষা করা হবে)। এই মডিউলটির ব্যর্থতা এই ধরণের সফল হয়েছে এমন অ্যাপ্লিকেশনটিকে সন্তুষ্ট করার জন্য মারাত্মক বলে মনে করা হয় না। মডিউলটি সফল হলে পিএএম ফ্রেমওয়ার্কটি অন্য কোনও মডিউল চেষ্টা না করে অবিলম্বে অ্যাপ্লিকেশনটিতে সাফল্য ফিরিয়ে দেয়।

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

এখন, আমি বুঝতে পারি না যখন কোনও নির্দিষ্ট মডিউল requiredব্যর্থ হয় এবং অন্য একটি মডিউল sufficientসাফল্য পায় তখন তার আচরণটি কী হবে ।

উত্তর:


11

পিএএম ক্রমানুসারে স্ট্যাকের আইটেমগুলির মাধ্যমে এগিয়ে যায়। এটি কী অবস্থায় রয়েছে (কেবলমাত্র সাফল্য বা প্রত্যাখ্যান, সাফল্যের অর্থ সাফল্য এখনও পর্যন্ত) কীভাবে সেই অবস্থায় পৌঁছেছে তা নয়, এটি কেবল স্মৃতি রাখে keeps

চিহ্নিত আইটেমটি যদি sufficientসফল হয় তবে প্যাম লাইব্রেরি সেই স্ট্যাকটি প্রক্রিয়াকরণ বন্ধ করে দেয়। পূর্ববর্তী requiredআইটেমগুলি ছিল কিনা তা এটি ঘটে । এই মুহুর্তে, পাম বর্তমান অবস্থাটি ফিরিয়ে দেয়: পূর্ববর্তী কোনও requiredআইটেম ব্যর্থ না হলে সাফল্য , অন্যথায় অস্বীকার করা হয়েছে।

একইভাবে, চিহ্নিত আইটেমটি requisiteব্যর্থ হলে, পিএএম লাইব্রেরি প্রক্রিয়াকরণ বন্ধ করে দেয় এবং ব্যর্থতা দেয়। এই মুহুর্তে, কোনও পূর্ববর্তী requiredআইটেম ব্যর্থ হয়েছে কিনা তা অপ্রাসঙ্গিক ।

অন্য কথায়, requiredঅগত্যা পুরো স্ট্যাকটি প্রক্রিয়াজাতকরণের কারণ হয় না। এর অর্থ কেবল চালিয়ে যাওয়া।


তবে যদি কোনও requiredআইটেম ব্যর্থ হয় তবে কেন PAMস্ট্যাকের মধ্য দিয়ে চলতে হবে? এটা শেষ পর্যন্ত যাইহোক যদি ব্যর্থ হবে?
মোহাম্মদ নুরাল্ডিন

1
@ মোহাম্মদ নূরল্ডিন ​​এমনকি যদি লগইন প্রচেষ্টা ব্যর্থ হয় তবে কিছু জিনিস অবশ্যই করা উচিত যেমন লগইন করা, জন্তু-বাহিনীর প্রচেষ্টার বিরুদ্ধে সময়সীমা যোগ করা ইত্যাদি etc. এছাড়াও সাধারণত সিস্টেমটি ব্যর্থতার সঠিক কারণটি প্রকাশ করে না, যেমন: ব্যবহারকারীর নাম ব্যর্থ হয় তারপর ব্যবহারকারীকে এখনও একটি পাসওয়ার্ডের জন্য অনুরোধ জানানো হয়।
গিলস 'অশুভ হওয়া বন্ধ করুন'

ক্রমটি কি ক্রমটিতে তালিকাভুক্ত হয় সেই আদেশটি?
অরেঞ্জডোগ

@ ওরেঞ্জডগ হ্যাঁ প্রথম লাইন তালিকাভুক্ত মডিউল মৃত্যুদন্ড কার্যকর করা হয়, তাহলে দ্বিতীয় লাইন মৃত্যুদন্ড কার্যকর করা হয় (অথবা প্রথম লাইন ফল উপর নির্ভর করে এড়ানো), ইত্যাদি
গিলেজ 'SO- স্টপ হচ্ছে মন্দ'

1

আমার মতে, requiredএকটি মডিউল সফল হওয়ার জন্য একটি নিয়ন্ত্রণ পতাকা সর্বদা সফল হতে হবে।

একজন sufficientপতাকাঙ্কিত মডিউল উপেক্ষিত তা করতে ব্যর্থ হলে হয়। যদি এটি সফল হয় এবং requiredউপরের কোনও পতাকাযুক্ত মডিউলগুলি ব্যর্থ হয় তবে একই ধরণের অন্য কোনও মডিউল পরীক্ষা করতে হবে না এবং মডিউলটিকে সফল হিসাবে বিবেচনা করা হবে। সুতরাং মূলত, requiredপতাকাটির চেয়ে sufficientপতাকাটির চেয়ে বেশি অগ্রাধিকার রয়েছে তবে পূর্ববর্তীটির সাফল্য থাকলে তার পরবর্তী অংশটি চেক করা বন্ধ করে দেওয়ার ক্ষমতা রাখে required

উদাহরণ:

1 auth       required     /lib/security/pam_nologin.so
2 auth       required     /lib/security/pam_securetty.so
3 auth       required     /lib/security/pam_env.so
4 auth       sufficient   /lib/security/pam_rhosts_auth.so
5 auth       required     /lib/security/pam_stack.so service=system-auth

যদি লাইন 1, 2, 3 এবং 4 সফল হয় তবে 5 লাইনটি এড়িয়ে যেতে পারে এবং মডিউলটি authসফল হয়। 4 লাইনটি সফল না হলে এটি অগ্রাহ্য করা হয় এবং 5 লাইনটি পরীক্ষা করা হয়। যদি 1, 2, 3 লাইনগুলির কোনওটি ব্যর্থ হয় তবে 4 লাইনটি বিবেচনায় নেওয়া হবে না।


1
আমি মনে করি তার প্রশ্ন 1 ব্যর্থ হয় এবং 2-4 সফল হলে কি হয়। 5 রান হয়? 1 যদি সফল হয়, 5 চালানো হত না। বা অন্য কথায়, পূর্বের প্রয়োজনীয় মডিউল ব্যর্থ হলে "পর্যাপ্ত সাফল্যের পরে থামুন" কি প্রয়োগ হয়?
সিজেএম

না, লেখকের মডিউলটি এই জাতীয় সংমিশ্রণে ব্যর্থ হবে।
dsmsk80

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