vsftpd搭建日志

本文记录了在Ubuntu系统中搭建vsftpd服务器的过程中遇到的编译错误和端口冲突问题,以及如何解决这些问题。通过修改vsf_findlibs.sh脚本解决编译时的库路径问题,移除xinetd.d/vsftpd配置文件以避免端口冲突,并成功启动vsftpd服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vsftpd搭建日志

1. 下载

ftp://vsftpd.beasts.org/users/cevans/下载。

2. 编译和安装

进入vsftpd-2.3.2,编译

[forrest@host vsftpd-2.3.2]$ 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 -Wl,-s `./vsf_findlibs.sh` 
/lib/libpam.so.0: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1

google了一下,是因为上面的vsf_findlibs.sh脚本是按照32位系统来寻找lib包的,所以路径可能错误。需要手工修正。

已解决。
I also hit this - the problem is that the lib-finding script vsf_findlibs.sh returns e.g. /lib/libpam.so.0; however if you're on a x86_64 machine, for example, you need /lib64/libpam.so.0. Fixing this up sorted things out for me.

奇怪的是64位系统上居然有两个lib,而且都有内容:

[forrest@host ~]$ ll / | grep lib
drwxr-xr-x  11 root  root   4096 Sep  2 04:06 lib
drwxr-xr-x   7 root  root   4096 Sep  2 04:07 lib64
[forrest@host ~]$ ll /lib64/ | grep libpam
lrwxrwxrwx 1 root root      17 Mar  8  2010 libpamc.so.0 -> libpamc.so.0.81.0
-rwxr-xr-x 1 root root   11264 Jun 18  2009 libpamc.so.0.81.0
lrwxrwxrwx 1 root root      21 Mar  8  2010 libpam_misc.so.0 -> libpam_misc.so.0.81.2
-rwxr-xr-x 1 root root   13456 Jun 18  2009 libpam_misc.so.0.81.2
lrwxrwxrwx 1 root root      16 Mar  8  2010 libpam.so.0 -> libpam.so.0.81.5
-rwxr-xr-x 1 root root   46800 Jun 18  2009 libpam.so.0.81.5
[forrest@host ~]$ ll /lib/ | grep libpam
lrwxrwxrwx 1 root root      17 Mar  8  2010 libpamc.so.0 -> libpamc.so.0.81.0
-rwxr-xr-x 1 root root    9868 Jun 18  2009 libpamc.so.0.81.0
lrwxrwxrwx 1 root root      21 Mar  8  2010 libpam_misc.so.0 -> libpam_misc.so.0.81.2
-rwxr-xr-x 1 root root    8588 Jun 18  2009 libpam_misc.so.0.81.2
lrwxrwxrwx 1 root root      16 Mar  8  2010 libpam.so.0 -> libpam.so.0.81.5
-rwxr-xr-x 1 root root   43020 Jun 18  2009 libpam.so.0.81.5
[forrest@host usr]$ cd /usr
[forrest@host usr]$ ll | grep lib
drwxr-xr-x  83 root root 69632 Sep  2 04:07 lib
drwxr-xr-x  92 root root 69632 Sep  2 04:08 lib64
drwxr-xr-x  11 root root  4096 Sep  7 20:21 libexec
[forrest@host usr]$

Anyway,修改vi vsf_findlibs.sh,将这一行:locate_library /lib/libpam.so.0 && echo "/lib/libpam.so.0";修改为
locate_library /lib64/libpam.so.0 && echo "/lib64/libpam.so.0";
直接跑这个脚本验证一下是不是找对了:

[forrest@host vsftpd-2.3.2]$ ./vsf_findlibs.sh 
/lib64/libpam.so.0
-lpam
-ldl
-lnsl
-lresolv
-lutil
/lib/libcap.so.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值