Vsftp 源码安装部署(CentOS 8)

概述

运行环境是 CentOS 8.2 ,尝试搭建 ftp 服务,网上找了很多的方式,基本都是 yum 安装,但是因为未连接互联网,因此只能源码安装。

rpm 包下载地址(无效)

RPM resource vsftpd 基本都是针对 CentOS 9 以上版本

http://www.rpmfind.net/linux/rpm2html/search.php?query=vsftpd
其中也有关于vsftpd 相关连接,但是都无法访问。
在这里插入图片描述

没有找到 CentOS 8.2 的,因此即使下载成功,也会提示无法安装。其中 vsftpd-3.0.3-48.el9.x86_64.rpm 安装失败效果如下:

[root@localhost ~]$ cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 
[root@localhost ~]$ 
[root@localhost ~]$ rpm -ivh vsftpd-3.0.3-48.el9.x86_64.rpm 
错误:vsftpd-3.0.3-48.el9.x86_64.rpm: signature 头部数据:不当,字节(15168)的号码超出范围
错误:不能安装 vsftpd-3.0.3-48.el9.x86_64.rpm 

镜像路径寻找(失败)

网上给的 Centos镜像只下载地址(全部寻找失败):
官方镜像下载地址:https://www.centos.org
http://mirrors.sohu.com/centos/8/isos/x86_64/
http://mirrors.aliyun.com/centos/8/isos/x86_64/
http://centos.ustc.edu.cn/centos/8/isos/x86_64/
http://mirrors.neusoft.edu.cn/centos/8/isos/x86_64/
http://mirror.lzu.edu.cn/centos/8/isos/x86_64/
http://mirrors.163.com/centos/8/isos/x86_64/
http://ftp.sjtu.edu.cn/centos/8/isos/x86_64/
https://vault.centos.org/8.2.2004/isos/x86_64/
https://mirrors.huaweicloud.com/home/
https://mirrors.tuna.tsinghua.edu.cn/
https://mirror.iscas.ac.cn/centos/

http://man.linuxde.net/download/CentOS
http://mirrors.btte.net/centos/8/isos/x86_64/

源码地址

能想到的就是源码安装部署。从官网获悉
The latest vsftpd release is v3.0.5 (需要通过技术手段才可以访问)
下载地址:vsftpd-3.0.5.tar.gz
具体地址为:https://security.appspot.com/vsftpd.html
如果需要可以联系获取。默认地址如下:

链接:https://pan.baidu.com/s/1zx4yaHd7aiUkrPJagIjyWA?pwd=vufx
提取码:vufx

依赖文件

安装过程提示下面错误,找不到 lcap 库。
源码下载地址为:https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/

[root@localhost ~]$ # make
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
/usr/bin/ld: cannot find -lcap
collect2: error: ld returned 1 exit status
make: *** [vsftpd] Error 1

依赖 ./vsftpd-3.0.5/vsf_findlibs.sh 文件中提示的信息

# Look for libcap (capabilities)
# Note that link may fail with:
# /usr/bin/ld: cannot find -lcap
# If the libcap-devel package isn't installed.
locate_library /usr/lib/libcap.so && echo "-lcap";
locate_library /lib/libcap.so && echo "-lcap";
locate_library /lib64/libcap.so && echo "-lcap";

分别遍历查找 /usr/lib/libcap.so 、lib/libcap.so、/lib64/libcap.so 发现确实没有。
下载源码之后,根据提示先执行 make test 检测环境。然后分别执行:

[root@localhost ~]$ # make
[root@localhost ~]$ # install

继续vsftpd 源码安装

[root@localhost ~]$ cd ../vsftpd-3.0.5
[root@localhost vsftpd-3.0.5]# make
[root@localhost vsftpd-3.0.5]# make insall
if [ -x /usr/local/sbin ]; then \
        install -m 755 vsftpd /usr/local/sbin/vsftpd; \
else \
        install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
        install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
        install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
elif [ -x /usr/share/man ]; then \
        install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
        install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
else \
        install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
        install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
        install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

vsftpd 配置

网上关于vsftpd 配置有很多介绍,这里不在赘述。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值