“Success = n” mengontrol sintaksis dalam file pam.conf / pam.d / *

16

Setelah berhasil mengkonfigurasi Kerberos, inilah yang saya temukan di /etc/pam.d/common-authfile:

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

Apakah nilai success=2kontrol berarti bahwa jika pam_unix.so gagal , otentikasi melompat ke auth requisite pam_deny.sobaris atau ke baris terakhir?

Jamie
sumber

Jawaban:

17

Dari pemahaman saya, success=$numakan menentukan berapa banyak aturan untuk dilewati ketika berhasil. Jadi jika salah satu pam_unix.soatau pam_winbind.soberhasil, PAM akan melompat ke baris terakhir. Tentu saja, garis akhir memungkinkan akses dalam semua kasus.

Warner
sumber
Hanya untuk memperjelas; Baris 1 & 2 akan melompat ke baris 4 saat salah satu berhasil. Masuk akal.
Jamie
Terima kasih atas tanggapan atas pertanyaan PAM saya yang lain juga: ternyata semua pertanyaan saya diperdebatkan; Saya membatasi login ssh ke daftar pengguna tertentu dan lupa tentang itu ketika saya menambahkan otentikasi domain. Ketika saya menambahkan Kerberos, itu memodifikasi file PAM dengan benar untuk otentikasi AD.
Jamie
2

pam.d (5) - Halaman manual Linux

Untuk sintaks yang lebih rumit, nilai kontrol valid memiliki bentuk berikut:
[value1=action1 value2=action2 ...]
ActionN dapat berupa: integer yang tidak ditandai, n, menandakan tindakan 'melompati modul n berikutnya dalam tumpukan'

Apa kata common-auth:

  1. Jika otentikasi UNIX lokal mengembalikan kesuksesan , lompati dua modul ke modul 4 (modul 1 + 2 modul untuk melompat -> modul 4). Kalau tidak, abaikan hasil auth lokal dan pindah ke modul berikutnya.
  2. Jika winbind (diganti dengan sssd hari ini) dengan otentikasi kerberos mengembalikan kesuksesan , lompati satu modul ke modul 4. Kalau tidak, abaikan hasil auth lokal dan pindah ke modul berikutnya.
  3. Tolak permintaan otentikasi. Hasilnya diselesaikan sebagai DENIED dan PAM berhenti di sana (tindakan didefinisikan untuk kontrol yang diperlukan).
  4. Ijinkan semuanya. Hasilnya diselesaikan sebagai DIIZINKAN tetapi pindah ke modul berikutnya (tindakan yang ditentukan untuk kontrol yang diperlukan). Namun tidak ada modul yang tersisa untuk dieksekusi, sehingga berakhir di sana.
mon
sumber