С модулем pkcs # 11 мы не можем войти в операционную систему Ubuntu. Здесь для этого мы взяли ссылку с:http://ubuntuforums.org/showthread.php?t=1557180 https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html#idp2059072

При попытке войти в систему с использованием разделяемой библиотеки pkcs # 11 возникает ошибка

ubuntu kernel: [13342.185619] lightdm[15882]: segfault at b662b48e ip b71ddd2f sp bfb35dec error 4 in libc-2.19.so[b7163000+1a8000]

Получение этой ошибки после выхода из C_Finalize (отслеживается с использованием системного журнала).

При входе в систему экранные сообщения становятся Smartcard authentication starts, Smart card found, verifying certificate, Failed to authenticate

при попытке через терминал войти в систему другого пользователя по умолчанию, чтобы пользователь мог в конце authentication succeeded пройти аутентификацию (до ошибки сегментации в терминале) и получить ошибку (согласно системному журналу) -

ubuntu kernel: [11694.542754] su[13543]: segfault at b676048e ip b7586d2f sp bfd0f0bc error 4 in libc-2.19.so[b750c000+1a8000]

С Пэм проблем нет. Потому что мы проверили с другим токеном, он работает .. Когда мы попытались отладить это с помощью gdb с опцией backtrace, результат будет

Программа получила сигнал SIGSEGV, Ошибка сегментации. __strlen_ia32 () в ../sysdeps/i386/i686/multiarch/../../i586/strlen.S: 51 51 ../sysdeps/i386/i686/multiarch/../../i586/strlen.S: Нет такого файла или каталога. (GDB) Backtrace

# 0 __strlen_ia32 () на ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:51

# 1 0xb7597732 в __GI_fputs_unlocked (str = 0xb678248e, fp = fp @ entry = 0x8fd4d20) в iofputs_u.c:36

# 2 0xb7614789 в __GI___vsyslog_chk (pri =, pri @ entry = 85, flag = flag @ entry = 1, fmt = fmt @ entry = 0xb76ebb7e "% s% s", ap = ap @ entry = 0xbfe56b4c "\270K\375\b\030/\375\b\264\252n\267 ") в ../misc/syslog.c:205

# 3 0xb7614c27 в __syslog_chk (pri = 85, flag = 1, fmt = 0xb76ebb7e "% s% s") в ../misc/syslog.c:129

# 4 0xb76e8a4c в pam_vsyslog () из /lib/i386-linux-gnu/libpam.so.0

# 5 0xb76e8b93 в pam_syslog () из /lib/i386-linux-gnu/libpam.so.0

# 6 0xb6884e38 в ?? () из /lib/i386-linux-gnu/security/pam_unix.so

# 7 0xb68823d4 в pam_sm_authenticate () из /lib/i386-linux-gnu/security/pam_unix.so

# 8 0xb76e35af in ?? () из /lib/i386-linux-gnu/libpam.so.0

# 9 0xb76e2c7a в pam_authenticate () из /lib/i386-linux-gnu/libpam.so.0

# 10 0x0804b3ba in ?? ()

# 11 0x08049e66 в ?? ()

# 12 0xb7547a83 в __libc_start_main (main = 0x8049a50, argc = 1, argv = 0xbfe56e54, init = 0x804db50, fini = 0x804dbc0, rtld_fini = 0xb771a180 <_dl_fini> 0x_ef_edex_f_2_cf_c_c_c_c_c_c_c_4_c_c_c_c_c_c_c_4_c_c_4_5_index_2_c_c_c_c_4_5:0)

# 13 0x0804ab6c в ?? ()

(GDB) кадр 10 # 10 0x0804b3ba в ?? ()

(gdb) фрейм 12 # 12 0xb7547a83 в __libc_start_main (main = 0x8049a50, argc = 1, argv = 0xbfe56e54, init = 0x804db50, fini = 0x804dbc0, rtld_fini = 0xb771a180 = 0e: 0e_f_f_f_f_f_f_f_f_f_f_f_f_b) 287 libc-start.c: нет такого файла или каталога.

(gdb) фрейм 12 # 12 0xb7547a83 в __libc_start_main (main = 0x8049a50, argc = 1, argv = 0xbfe56e54, init = 0x804db50, fini = 0x804dbc0, rtld_fini = 0xb771a180 = 0e:0e_f_f_f_f_f_f_f_f_f_f_f_f_b) 287 в libc-start.c (gdb) q

Может ли кто-нибудь предложить мне процесс отладки для такого рода ошибки. Потому что в этой трассировке ни один файл не связан с нашим кодом (библиотека PKCS # 11)

Примечание. В дополнение к нашей общей библиотеке мы используем смарт-карту для входа в систему.

1 ответ1

0

Проблема в следовых заявлениях .. Внутренне мы вызвали syslog() в трассировке, здесь ошибка возникла из-за того, что журнал не закрывался (то есть: closelog () отсутствует). Теперь нет проблем с модулем ..

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .