交叉编译kravietz/pam_tacplus

最近项目上需要使用tacplus客户端,因此需要在ppc设备上部署tacacs client认证功能
github上面有一个c based 的项目www.github.com/kravietz/pam_tacplus
在X86环境上试了一下,感觉还比较简单易用,决定使用这个项目最为AAA认证的一部分

准备工作还需要下面一些依赖库

编译libpam

获取linux-pam-1.3.0.tar.gz
http://www.linux-pam.org/library/

项目是automake生成的,配置还比较简单,编译过程如下

./configure  --enable-static  --disable-pie  --host=ppc-linux --prefix=/home/allen/workspace/tacacs_build/repo --disable-nls \
 CC=/home/allen/workspace/toolchains/powerpc-e5500-linux-gnu_linux-3.12.50_binutils-2.25.1_gcc-5.2.0_glibc-2.19_32big/bin/powerpc-e5500-linux-gnu-gcc 
 make && make install

需要注意的是将所有的.h文件拷贝到security目录下面,后面编译pam_tacplus工程时使用

 mkdir /home/allen/workspace/tacacs_build/repo/include/security
 mv /home/allen/workspace/tacacs_build/repo/include/*.h /home/allen/workspace/tacacs_build/repo/include/security
编译pam_tacacus

从github上面获取分支
git clone www.github.com/kravietz/pam_tacplus

配置编译

 ./configure --host=ppc-linux --prefix=/home/allen/workspace/tacacs_build/repo \
 CC=/home/allen/workspace/toolchains/powerpc-e5500-linux-gnu_linux-3.12.50_binutils-2.25.1_gcc-5.2.0_glibc-2.19_32big/bin/powerpc-e5500-linux-gnu-gcc \
 CFLAGS="-I/home/allen/workspace/tacacs_build/repo/include" \
 LDFLAGS="-L/home/allen/workspace/tacacs_build/repo/lib"
make && make install

编译结果内容还是很多,主要的lib库

├── lib
│   ├── libpam.a
│   ├── libpamc.a
│   ├── libpamc.la
│   ├── libpamc.so -> libpamc.so.0.82.1
│   ├── libpamc.so.0 -> libpamc.so.0.82.1
│   ├── libpamc.so.0.82.1
│   ├── libpam.la
│   ├── libpam_misc.a
│   ├── libpam_misc.la
│   ├── libpam_misc.so -> libpam_misc.so.0.82.1
│   ├── libpam_misc.so.0 -> libpam_misc.so.0.82.1
│   ├── libpam_misc.so.0.82.1
│   ├── libpam.so -> libpam.so.0.84.2
│   ├── libpam.so.0 -> libpam.so.0.84.2
│   ├── libpam.so.0.84.2
│   ├── libtac.la
│   ├── libtac.lai
│   ├── libtac.so -> libtac.so.3.0.0
│   ├── libtac.so.3 -> libtac.so.3.0.0
│   ├── libtac.so.3.0.0
│   ├── pam_tacplus.la
│   ├── pam_tacplus.lai
│   ├── pam_tacplus_la-pam_tacplus.o
│   ├── pam_tacplus_la-support.o
│   ├── pam_tacplus.so
│   ├── pam_tacplus.soT
│   ├── pkgconfig
│   │   └── libtac.pc
编译测试程序tacc

这里交叉编译makefile没有直接编译tacc,就手动编译一下把

/home/allen/workspace/toolchains/powerpc-e5500-linux-gnu_linux-3.12.50_binutils-2.25.1_gcc-5.2.0_glibc-2.19_32big/bin/powerpc-e5500-linux-gnu-gcc \
	-I/home/allen/workspace/tacacs_build/repo/include \
	-I/home/allen/workspace/tacacs_build/repo/include/libtac \
	-L/home/allen/workspace/tacacs_build/repo/lib -lpam -ltac -lpamc\
	-o tacc ./tacc.c

有了tacc就可以测试一下对应的库是否能够成功进行认证了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值