Linux下PAM安全认证模块的交叉编译移植
参考链接https://blog.csdn.net/weixin_42218802/article/details/82526099?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158950322119725256762957%2522%252C%2522scm%2522%253A%252220140713.130102334.p
参考链接
根据此链接,现将在交叉编译移植过程中遇到的问题,重新做下总结
PAM为Linux的安全认证模块,
移植环境:ARM A7
交叉编译器为 arm-linux-gnueabihf-gcc
PAM的源码下载地址:https://github.com/linux-pam/linux-pam/releases 下载Linux-PAM-1.3.1.tar.xz这个压缩文件
crack库的下载地址:https://github.com/cracklib/cracklib/releases/download/v2.9.7/cracklib-2.9.7.tar.bz2 (可能太笨,在参考的博客中没有给到这个库的下载链接,找了太久才找到这个合适的crack库)
至于参考博客中提到的crackelib-dict字典,从自己的理解方面来看,(主要还是没有找到合适的这个东西)这个字典是可以自己想办法生成,经过测试可以没有这个东西。。也请自己验证一下吧
开始交叉编译
1.crack库的交叉编译
解压源码,进入源码目录,
新建文件夹 mkdir build
配置编译环境 ./configure --host=arm-linux-gnueabihf --prefix=crack源码的绝对路径/build CC=交叉编译器的绝对路径/arm-linux- gnueabihf-gcc AR=交叉编译器的绝对路径/arm-linux-gnueabihf-ar
make && make install (基本不会出错,出错的话 大概率原因可能是交叉编译环境的配置有问题)
在build文件夹下会生成相关的文件,接下来的操作可能和参考链接中的方法有些不同,(可能是自己的交叉编译器配置的有问题,所以使用参考链接的方法,没有成功)但是目的都是一样的。
此处不做任何动作
2.编译PAM模块
解压源码,进入源码目录,
新建文件夹 mkdir build
配置编译环境 ./configure --host=arm-linux-gnueabihf --prefix=PAM源码的绝对路径/build CC=交叉编译器的绝对路径/arm-linux- gnueabihf-gcc AR=交叉编译器的绝对路径/arm-linux-gnueabihf-ar CFLAGS=-I/crack源码的绝对路径/build/include/
LDFLAGS=-L/crack源码的绝对路径/build/lib (!!!很重要)
make && make install
至此。PAM模块的交叉编译结束,开始移植
将crack 源码编译出来的crack.so文件拷贝至目标机/lib目录
进入PAM安装目录,将lib下的libpam.so和libpam_misc.so库文件拷贝至目标机/lib目录,将 lib下的security目录拷贝至目标机/lib, 将etc目录下的pam.d目录和security目录拷贝至目标机/etc目录
更多推荐
所有评论(0)