ด้วยโมดูล pkcs # 11 เราไม่สามารถลงชื่อเข้าใช้ระบบปฏิบัติการอูบุนตู ที่นี่สำหรับสิ่งนี้เราได้ทำการอ้างอิงจาก: 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 (Traced โดยใช้ syslog) ..
เมื่อเข้าสู่ระบบข้อความบนหน้าจอจะได้รับเช่น -
Smartcard authentication starts,
Smart card found,
verifying certificate,
Failed to authenticate
เมื่อพยายามผ่าน terminal เพื่อเข้าสู่ระบบผู้ใช้คนอื่นจากผู้ใช้เริ่มต้นที่จะได้รับauthentication succeeded
ในตอนท้าย (ก่อนที่ความผิดการแบ่งส่วนใน terminal) และได้รับข้อผิดพลาด (ตาม syslog) -
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/../../i/865/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% s", ap = ap @ entry = 0xbfe56b4c "\ 270K \ 375" \ 030 / \ 375 \ b \ 264 \ 252n \ 267 ") ที่ ../misc/syslog.c:205
#
3 0xb7614c27 ใน __syslog_chk (pri = 85, ตั้งค่าสถานะ = 1, fmt = 0xb76ebb7e "% s% 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 ใน ?? () จาก /lib/i386-linux-gnu/libpam.so.0
#
9 0xb76e2c7a ใน pam_authenticate () จาก /lib/i386-linux-gnu/libpam.so.0
#
10 0x0804b3ba ใน ?? ()
#
11 0x08049e66 ใน ?? ()
#
12 0xb7547a83 ใน __libc_start_main (main = 0x8049a50, argc = 1, argv = 0xbfe56e54, init = 0x804db50, fini = 0x804dbc0, rtld_fini = 0xb7777a50 <_dl_fini> 0bbc_start_main = 0xb771a180 <_dl_fcfc> 1 = 0x8075a50_tf4_cfc_start_mini
#
13 0x0804ab6c ใน ?? ()
(gdb) เฟรม 10
#
10 0x0804b3ba ใน ?? ()
(gdb) เฟรม 12
#
12 0xb7547a83 ใน __libc_start_main (main = 0x8049a50, argc = 1, libc = 1, argc = 1, argv = 0x804dbc0, rtld_fini = 0xb771f7cfc0, rtld_fini = 0xb771f7cfc_start_main) libc-start.c: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
(gdb) เฟรม 12
#
12 0xb7547a83 ใน __libc_start_main (main = 0x8049a50, argc = 1, libc = 1, argc = 1, argv = 0x804dbc0, rtld_fini = 0xb771f7cfc0, rtld_fini = 0xb771f7cfc_start_main) ใน libc-start.c (gdb) q
ใครช่วยแนะนำกระบวนการดีบักสำหรับข้อผิดพลาดชนิดนี้ได้ไหม เพราะใน backtrace นี้ไม่มีไฟล์เกี่ยวข้องกับรหัสของเรา (ห้องสมุด PKCS # 11)
หมายเหตุ: นอกเหนือจากห้องสมุดสาธารณะของเราแล้วเรายังใช้สมาร์ทการ์ดเพื่อเข้าสู่ระบบ ..