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 配置有很多介绍,这里不在赘述。

### 如何配置虚拟机中的共享文件夹 #### 配置概述 为了实现主机与虚拟机之间的文件共享,在虚拟机内部需执行特定的配置操作。这不仅涉及获取虚拟机自身的IP地址以便确认网络连接状态[^1],还涉及到通过图形界面或命令行方式来识别并访问来自宿主机的共享资源。 #### 图形化方法验证共享文件夹的存在 对于某些环境而言,可以直接利用虚拟机内安装的操作系统的图形用户界面来进行初步检测。当启动虚拟机之后,可以通过浏览“我的电脑”这一类目去查找是否存在预期中的网络共享位置;如果未能发现相应的图标,则意味着可能还需要进一步的手动设置才能正常使用共享功能[^2]。 #### 命令行挂载共享文件夹(适用于Linux系统) 针对采用Linux作为客户操作系统的情况,可以借助终端指令完成更精确的控制。具体来说,使用`mount`命令配合专门用于处理VMware Tools所提供的FUSE模块参数能够有效地将位于`.host:/`路径下的共享目录映射到本地文件系统中的指定位置(如`/mnt/hgfs`),从而允许用户像对待常规磁盘分区一样对其进行读写操作。值得注意的是,此过程通常需要管理员权限,并且建议加上`allow_other`选项以放宽对其他用户的访问限制: ```bash sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other ``` 由于上述挂载动作不会持久保存,因此每当重启虚拟机后都需要重复执行该命令来恢复共享文件夹的功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值