Читајте ту фразу као тврдњу о дељеном објекту и показивачу на функцију, а не о лозинци. Исте речи могу доћи из OpenVPN додатка, из PAM стека учитаног за једну услугу или изнутра из RADIUS демона, и то су три различите истраге. Прво одредите процес.

Провере испод претпостављају да се порука појавила кроз Linux-PAM интеграцију приликом пријаве на VPN. Ако је дошла из сопствене конфигурације RADIUS сервера, почните од доказа тог демона.

Именујте процес пре него што именујете пакет

Три компоненте се називају модулом и ниједна није заменљива. OpenVPN додатак за аутентификацију учитава VPN демон и он имплементира интерфејс повратног позива тог демона. PAM модул је дељени објекат који libpam учитава за именовану услугу, и који имплементира улазне тачке као што је pam_sm_authenticate. FreeRADIUS модул је део сопствене конфигурације тог демона. Порука са истим речима може доћи из било ког од три, па је прво питање који је ред дневника то произвео.

Повежите временску ознаку једног неуспешног покушаја у VPN дневнику и системском дневнику аутентификације, па прочитајте редове пре сажетка. Конкретна порука учитавача обично је већ тамо.

Прочитајте грешку учитавања, па улазну тачку

PAM пријављује непознат модул када не може да учита изабрани дељени објекат или када учитани објекат не пружа функцију коју тај ред стека захтева. То су различите поправке: прва је проблем путање, паковања или ABI-ја, а друга је неусклађена улазна тачка. Ред за аутентификацију захтева pam_sm_authenticate а ред за налог захтева pam_sm_acct_mgmt, и библиотека која имплементира само једно од тога неће успети на другом, као што код диспечера показује. Проналажење датотеке на диску не доказује ни једно.

Узимање библиотеке са сличним именом из друге дистрибуције или архитектуре процесора није поправка и може оставити процес да учитава модул који никада није тестиран против његовог libpam-а. Проверите пакет који поседује жељену путању и стварну архитектуру датотеке пре него што било шта промените.

Задржите гаранције које је стек давао

Најбржи начин да утишате ову грешку уједно је и најгори: означити обавезни модул као опциони, избрисати фазу налога, или уметнути безусловну дозволу. Свако од тога претвара неуспешну проверу у одсутну проверу, и пријава онда успева из разлога које нико није намеравао. Ресетовање лозинки и промене заједничке тајне такође не дају функцију која недостаје, јер до отказа долази пре него што било који акредитив стигне до backend-а.

Стек са више модула можда је покренуо други backend пре неуспешног реда, па грешка не доказује да RADIUS захтев није послат.

Проверите пријаву, а не модул

Када се неусклађеност исправи, тестирајте стварну путању прихвата. Исправан налог треба да успе, неважећи акредитиви и даље треба да падну, а забрањени налог и даље треба да буде одбијен. Потврдите и да се захтев за сертификатом или додатним фактором и даље спроводи, јер поправљен стек који прескаче фазу изгледа као успех са стране клијента.

Чисто учитавање модула је напредак, а не завршен тест.

Запишите које име услуге, које датотеке политике и које улазне тачке су биле укључене, уз једини покушај који сте употребили као доказ. Тај запис чини следећи случај претрагом уместо археолошке вежбе.

Повезани чланци