交叉编译tacacs_plus
记录一下交叉编译tacacs_plus 服务的过程
编译过程中依赖libwrap.a,需要下载对应的源码,
标题获取源代码
1.下载tcp_wrappers_7.6.tar.gz 路径:http://www.linuxfromscratch.org/blfs/view/5.1/basicnet/tcpwrappers.html
2. 下载tacacs±F4.0.4.27a.tar.gz建议使用ftp客户端去下载
ftp://ftp.shrubbery.net/pub/tac_plus/tacacs±F4.0.4.27a.tar.gz
编译 tcp_wrappers_7.6.tar.gz
# 解压源码包
tar -xvzf tcp_wrappers_7.6.tar.gz
pwd
/home/allen/workspace/tacacs_build/tcp_wrappers_7.6# 修改Makefile 增加交叉编译的配置
REAL_DAEMON_DIR=/usr/sbin
CROSS_COMPILE_ROOT=/home/allen/workspace/toolchains/powerpc-e5500-linux-gnu_linux-3.12.50_binutils-2.25.1_gcc-5.2.0_glibc-2.19_32big
CROSS_COMPILE_PREFIX=$(CROSS_COMPILE_ROOT)/bin/powerpc-e5500-linux-gnu-
CC=$(CROSS_COMPILE_PREFIX)gcc
CFLAGS+=-Werror
CFLAGS+=-I$(CROSS_COMPILE_ROOT)
#修改Makefile 在linux字段中增加编译宏-DSYS_ERRLIST_DEFINED
linux:@make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ=setenv.o \NETGROUP= TLI= EXTRA_CFLAGS="-DBROKEN_SO_LINGER -DSYS_ERRLIST_DEFINED" all# 执行编译
make linux
最终生成的.a库和 bin文件就在当前的目录中。
编译tacacs±F4.0.4.27a
有了libwrap.a 库以后,可以开始编译tacacs 服务器端,这个时automake生成的工程,交叉编译比较简单
# 设置一下config.cache, 否则会在后面的配置过程中出现报错信息“checking whether setpgrp takes no argument... configure: error: cannot check setpgrp when cross compiling”
echo "ac_cv_func_setpgrp_void=yes" > config.cache
# 配置交叉编译工具链./configure --host=ppc-linux --prefix=/home/allen/workspace/tacacs_build/repo-tacac-plus \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/tcp_wrappers_7.6 \LDFLAGS=-L/home/allen/workspace/tacacs_build/tcp_wrappers_7.6 \--config-cache
# 配置完成后,执行make &&make install
最后生成的二进制信息
../repo-tacac-plus/
├── bin
│ ├── tac_plus
│ └── tac_pwd
├── include
│ └── tacacs.h
├── lib
│ ├── libtacacs.a
│ ├── libtacacs.la
│ ├── libtacacs.so -> libtacacs.so.1.0.0
│ ├── libtacacs.so.1 -> libtacacs.so.1.0.0
│ └── libtacacs.so.1.0.0
├── share
│ ├── man
│ │ ├── man5
│ │ │ └── tac_plus.conf.5
│ │ └── man8
│ │ ├── tac_plus.8
│ │ └── tac_pwd.8
│ └── tacacs+
│ ├── do_auth.py
│ ├── tac_convert
│ └── users_guide8 directories, 14 files
终端设备上运行
- 创建配置脚本
touch /etc/tacas_plus.conf
accounting file = /var/log/tac_plus.acctkey = testkey123user = testuser1 {global = cleartext "testpass123"service = ppp protocol = ip {addr=1.2.3.4}
}
user = testuser2 {global = cleartext "testpass123"service = ppp protocol = ip {addr=2.3.4.5}
}
启动tac_plus
tac_plus -C /etc/tac_plus.conf -G -g -d 512
登录验证server是否可用
服务器部署在192.168.21.135
使用tacc 参数匹配上面对应的key,service, protocol 信息
[root]# ./tacc -TRA -u testuser1 -p testpass123 -s 192.168.21.135 -r 192.168.21.135 -k testkey123 \
-S ppp -P ip -y /dev/pts/3
Authentication OK
Authorization OK: (Service granted)
Accounting: START OK
Accounting: STOP OK
查看account记录
# cat /var/log/tac_plus.acct
Aug 26 03:31:16 192.168.21.133 testuser1 /dev/pts/3 192.168.21.133 start start_time=1598439430 task_id=5496 service=ppp protocol=ip
Aug 26 03:31:16 192.168.21.133 testuser1 /dev/pts/3 192.168.21.133 stop stop_time=1598439430 task_id=5496
[root@23-SLOT1:/root]#
交叉编译tacacs_plus相关推荐
- Golang的交叉编译问题
参考:Golang交叉编译各个平台的二进制文件 - Go语言中文网 - Golang中文社区 (studygolang.com).也谈Go的可移植性 | Tony Bai 今天准备将一个在Mac上开发 ...
- Linux 交叉编译简介
Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...
- TVM交叉编译和远程RPC
TVM交叉编译和远程RPC 本文介绍了TVM中使用RPC的交叉编译和远程设备执行. 使用交叉编译和RPC,可以在本地计算机上编译程序,然后在远程设备上运行它.当远程设备资源受到限制时(如Raspber ...
- 用TensorRT针对AArch64用户的交叉编译示例
用TensorRT针对AArch64用户的交叉编译示例 以下介绍如何在x86_64linux下为AArch64 QNX和Linux平台交叉编译TensorRT示例. 2.1. Prerequisite ...
- Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)
1. 标准命令简述 Go 本身包含来大量用于处理 Go 程序的命令和工具. 命令 作用 build 用于编译指定的代码包或 Go 语言源码文件.命令源码文件会被编译成可执行文件,并存放到命令执行的目录 ...
- linux wifi-tools,Linux下WiFi工具wireless_tools交叉编译,及其支持生成iwconfig使用的内核配置...
内核的配置: General setup ---> Kernel compression mode (LZMA) --->LZMA [*] Networking support -- ...
- Cmake 交叉编译
转载自 http://zhixinliu.com/2016/02/01/2016-02-01-cmake-cross-compile/ CMake交叉编译 CMake的使用,以及如何将一个项目移植到A ...
- Ubuntu 8.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
Linux版本:Ubuntu8.04 内核版本:Linux 2.6.24 交叉编译器版本:arm-linux-gcc-3.4.1 交叉编译器下载链接: https://share.weiyun.com ...
- Ubuntu上通过android toolchain交叉编译Valgrind操作步骤
关于Valgrind的介绍可以参考:https://blog.csdn.net/fengbingchun/article/details/50196189. 这里介绍下在Ubuntu 16.04上通过 ...
最新文章
- Conversations
- Android UI开发第三十九篇——Tab界面实现汇总及比较
- linux创建2g文件,嵌入式 创建一个2G的空文件(Linux命令dd)
- 睡眠分期matlab代码,非接触式睡眠分期方法与流程
- CSS的Border属性 属性 边框 可以 定义 宽度 颜色 CSS solid 类型 文本
- 防止电脑自动锁屏(Windows系统)
- HDU6638 Snowy Smile
- 一般个域名可以有几个IP地址,IP地址可以绑定几个域名呢
- 电脑拆机(华硕FL5900)+光驱改固态
- 杨家将杨业四子杨延辉子嗣传人世代居住松滋
- 家用计算机如何连无线网,电脑上怎么连接wifi_怎样连接自己家的wifi-win7之家
- php批量添加水印图片大小,解析php中两种缩放图片的函数,为图片添加水印
- Android Scroller
- sa-token进阶
- windows7 cat ‘t find recovert.data
- 平安金融卫士 互联网理财“安全第一”
- Android : 破解apk
- Node.js fs模块 删除非空目录
- 【ansys workbench】7.装配体分析基本思路讲解
- Talib.ADX指标详解