Saya sedang mempelajari PAM, dan saya agak tidak mengerti tentang arti beberapa kombinasi flag kontrol. Dari dokumentasi Red Hat kami memiliki:
kegagalan yang diperlukan dari PAM seperti itu pada akhirnya akan mengarah pada kegagalan pengembalian PAM-API tetapi hanya setelah modul yang ditumpuk yang tersisa (untuk layanan dan jenis ini) telah dipanggildiperlukan
seperti yang diperlukan, namun, dalam hal modul tersebut mengembalikan kegagalan, kontrol langsung dikembalikan ke aplikasi.
Keberhasilan yang cukup dari modul tersebut cukup untuk memenuhi persyaratan otentikasi dari tumpukan modul (jika modul yang diperlukan sebelumnya gagal, keberhasilan modul ini diabaikan). Kegagalan modul ini tidak dianggap fatal untuk memuaskan aplikasi yang jenis ini berhasil. Jika modul berhasil kerangka kerja PAM mengembalikan kesuksesan ke aplikasi segera tanpa mencoba modul lain.
Jadi, dalam pemahaman saya, jika modul requisite
gagal, seluruh tumpukan modul tidak akan diuraikan, dan kontrol akan segera kembali ke aplikasi. Jika modul sufficient
berhasil, tumpukan modul lainnya tidak akan diuraikan dan kontrol akan segera kembali ke aplikasi. Jika modul required
gagal, seluruh tumpukan akan diuraikan.
Sekarang, saya tidak bisa mengerti apa yang akan menjadi perilaku ketika modul tertentu required
gagal dan modul lain sufficient
berhasil.
sumber
required
item yang gagal, mengapaPAM
harus terus melalui tumpukan? apakah akhirnya akan gagal juga?Menurut pendapat saya,
required
bendera kontrol harus selalu berhasil agar modul berhasil.Sebuah
sufficient
modul ditandai diabaikan jika gagal. Jika berhasil dan tidak adarequired
modul yang ditandai di atas gagal maka, tidak ada modul lain dari jenis yang sama harus diperiksa dan modul dianggap berhasil. Jadi pada dasarnya,required
bendera memiliki prioritas lebih tinggi daripadasufficient
bendera tetapi yang terakhir memiliki kemampuan untuk berhenti memeriksa sisanya jika yang sebelumnyarequired
berhasil.Contoh:
Jika baris 1, 2, 3 dan 4 berhasil maka, baris 5 dapat dilewati dan modul
auth
berhasil. Jika jalur 4 tidak berhasil maka diabaikan dan jalur 5 dicentang. Jika salah satu baris 1, 2, 3 telah gagal maka, baris 4 tidak diperhitungkan.sumber