ฉันกำลังศึกษา PAM และฉันค่อนข้างสับสนเกี่ยวกับความหมายของการรวมกันของธงควบคุม จากเอกสารของ Red Hat เรามี:
ความล้มเหลวที่จำเป็นของ PAM ดังกล่าวในที่สุดจะนำไปสู่ความล้มเหลวในการส่งคืน PAM-API แต่หลังจากโมดูลที่เหลืออยู่ (สำหรับบริการและประเภทนี้) ได้ถูกเรียกใช้สิ่งที่
จำเป็นต้องมีตามต้องการอย่างไรก็ตามในกรณีที่โมดูลดังกล่าวส่งคืนความล้มเหลวการควบคุมจะถูกส่งกลับไปยังแอปพลิเคชันโดยตรง
ความสำเร็จที่เพียงพอของโมดูลดังกล่าวเพียงพอที่จะตอบสนองความต้องการการรับรองความถูกต้องของสแต็คของโมดูล (หากโมดูลที่จำเป็นก่อนหน้านี้ล้มเหลวความสำเร็จของโมดูลนี้จะถูกละเว้น) ความล้มเหลวของโมดูลนี้ไม่ถือว่าร้ายแรงถึงความพึงพอใจกับแอปพลิเคชันที่ประสบความสำเร็จในประเภทนี้ หากโมดูลสำเร็จเฟรมเวิร์ก PAM จะส่งคืนความสำเร็จให้กับแอ็พพลิเคชันทันทีโดยไม่ต้องลองโมดูลอื่น ๆ
ดังนั้นในความเข้าใจของฉันหากโมดูลrequisiteล้มเหลวสแต็กของโมดูลทั้งหมดจะไม่ถูกแยกวิเคราะห์และการควบคุมจะกลับไปที่แอปพลิเคชันทันที หากโมดูลsufficientสำเร็จโมดูลส่วนที่เหลือจะไม่ถูกแยกวิเคราะห์และการควบคุมจะกลับไปที่แอปพลิเคชันทันที หากโมดูลrequiredล้มเหลวสแต็กทั้งหมดจะถูกวิเคราะห์คำ
ตอนนี้ฉันไม่สามารถเข้าใจสิ่งที่จะเป็นพฤติกรรมเมื่อโมดูลบางอย่างrequiredล้มเหลวและโมดูลอื่นsufficientประสบความสำเร็จ
requiredรายการใดล้มเหลวทำไมถึงPAMต้องผ่านกองไปเรื่อย ๆ ? ถ้ามันจะล้มเหลวในที่สุด?