【问题标题】:Linux-PAM not finding moduleLinux-PAM 找不到模块
【发布时间】:2020-02-20 14:15:02
【问题描述】:

我已经编写了自己的自定义 Linux-pam 模块,该模块将调用面部识别软件(C 中嵌入 Python3)来识别用户面部,并随后提供身份验证。

我遇到了一个问题,每当我修改 /etc/pam.d/sudo 文件以使用我的 pam_authnew.so 模块时,都会出现错误

PAM module not found

我已将 C 文件编译为 .so,我已将所述文件加载到 /lib/x86_64/security(我所有其他默认 pam 模块所在的位置)

以下是 /etc/pam.d/sudo 、 /lib/x86_64-linux-gnu/security 和 /etc/var/auth.log 文件,以帮助进行故障排除。

/etc/pam.d/sudo


session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_rea$
#@include common-auth
@include common-account
@include common-session-noninteractive

/etc/var/auth.log

Feb 20 14:11:58 berns-HP-Pavilion-Laptop-15-cw0xxx sudo: PAM unable to dlopen(/lib/x86_64-linux-gnu/security/pam_authnew.so): /lib/x86_64-linux-gnu/security/pam_authnew.so: undefined symbol: Py_Initialize
Feb 20 14:11:58 berns-HP-Pavilion-Laptop-15-cw0xxx sudo: PAM adding faulty module: /lib/x86_64-linux-gnu/security/pam_authnew.so
Feb 20 14:11:58 berns-HP-Pavilion-Laptop-15-cw0xxx sudo:    berns : PAM authentication error: Module is unknown ; TTY=pts/1 ; PWD=/home/berns ; USER=root ; COMMAND=/usr/bin/apt update

【问题讨论】:

    标签: linux pam


    【解决方案1】:

    我一直在排除故障,发现我从来没有链接过

    -lpython3.6m

    所以 Python 库没有包含在 .so 文件中。

    【讨论】:

    • 请您写下您正在使用的 Python 库。我一直在环顾四周,对使用什么感到很困惑。你的模块是开源的并且有 github/lab 链接吗?
    • 嘿@jradxl,该项目当时是作为大学作业进行的。这是一年前的事了,老实说,我不主张它是在考虑到最佳约定(python、c、Linux 等)的情况下进行的。但是,我可以(很快)在 github 上托管它,我可以在这里分享链接。如果我没记错的话,它确实是纯 C/Python 和 Linux PAM 的手动操作
    • 嗨@Pythoncrypt。您是要添加链接吗?
    • 嘿,对不起,我做到了。项目的 PAM 目录和代码目录在下面的链接中,请记住这是很多个月前的一次大学提交,所以它并不完全出色哈哈!希望它有一些用途:) github.com/PbernsY/PythonPam
    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2014-11-19
    • 2022-12-15
    • 1970-01-01
    • 2018-02-21
    • 2014-10-25
    相关资源
    最近更新 更多