下载源Linux-PAM-1.3.0.tar.gz版本,然后使用命令进行配置和编译
./configure --prefix=/u02/tasks/linux-pam/Linux-PAM-1.3.0/output/pre --exec-prefix=/u02/tasks/linux-pam/Linux-PAM-1.3.0/output/epre CC=/opt/freescale-imx6/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc ARCH=arm --host=arm-none-linux-gnueabi LDFLAGS="-L/u02/tasks/linux-pam/Linux-PAM-1.3.0/output/epre/lib/ "
make install
然后将库分别复制到 /lib/ 和 /lib/security/。配置文件中的数据是
auth required pam_unix.so
account required pam_unix.so
在应用程序 API 中使用
retval=pam_start("check_user", "root", &conv, &pamh);
retval = pam_authenticate(pamh, 0)
retval = pam_acct_mgmt(pamh, 0);
pam_end(pamh, retval)
在运行应用程序时我收到模块未知错误。