首页  编辑  

Linux安装vsFTP

Tags: /计算机文档/Linux & Unix/   Date Created:

安装vsFTP的的简单的方法:

先安装vsftp,通过系统本身的指令。

例如Redhat:

yum install vsftpd

yum install db4-utils

注意Redhat企业版需要先更新源!

例如Ubuntu:

sudo apt-get install vsftpd

然后下载最新的vsFTP的源代码( https://security.appspot.com/vsftpd.html#download ),请不要使用老的版本,老的版本可能有漏洞!

然后解压下载的源代码,进入源代码目录,运行

make clean

make

如果make出错,很可能是64位系统的问题,请参考: http://hi.baidu.com/yu_zhou2000/item/b41fd0cc04c47e0f0bd93a3d

解决vsftpd编译时的错误:could not read symbols: File in wrong format

编译vsftpd时,出现could not read symbols: File in wrong format错误提示,后搜寻相关资料,是因为vsftpd的一个安装文件没有考虑到64位平台库文件位置。

如果的的系统是64位平台,解决办法如下:

编辑源代码安装目录下的vsf_findlibs.sh, 将其中路径中的lib替换成lib64。

快速的vim替换命令是:

:%s?lib/?lib64/?

(需要检查是否完全替换)

如果检查系统是否为64位平台?

uname -m

如果输出 x86_64,说明是64位平台

或者

  原因是x86_64环境下vsftpd源代码下的vsf_findlibs.sh没处理好库文件的调用关系;可手动修改vsf_findlibs.sh中的相关代码,或者是用下面的简单方式修改相关lib的链接

   rm -f /lib/libpam.so.0            ---这里删除的是链接文件,放心

   ln -s /lib64/libpam.so.0.77 /lib/libpam.so.0

1.2 /lib/libcap.so.1: could not read symbols: File in wrong format

  因同样的原因引起,所以修改方式同上:

   rm -f /lib/libcap.so.1

   ln -s /lib64/libcap.so.1.10 /lib/libcap.so.1

以上修改后,再编译就不会报错。当然为了不引起其他程序调用lib出错,最好是将lib的相关链接改回去。

处理完后,重复上述make clean 和make命令。

make install

然后用生成的vsftpd文件,替换硬盘上原来的可执行程序/usr/sbin/vsftpd或者/usr/local/sbin/vsftpd,具体可以用locate查一下位置,然后替换即可使用最新版本的了。

之所以先安装系统的vsftp,是因为源代码本身不提供服务安装方式,先安装系统vsftp后,会在/etc/init.d/下生成vsftpd的服务配置文件!

最后自动启动服务:

chkconfig vsftpd on

也可以把附件直接放在/etc/init.d下,加上可执行属性: chmod +x /etc/init.d/vsftpd

然后运行 ln -s /etc/init.d/vsftpd /etc/rc.d/rc3.d/S60vsftpd

即可作为服务运行了。

vsftp的配置,百度知。

请参考: http://wiki.ubuntu.org.cn/Vsftpd%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE

上述适合vsftp 3.0.1+版本。

采用虚拟用户的vsftpd.conf:

anonymous_enable=NO

local_enable=YES

write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

ftpd_banner=Welcome to FTP server, Please login

chroot_local_user=YES

listen=YES

guest_enable=YES

guest_username=vsftpd

user_config_dir=/etc/vsftpd/user_conf

pam_service_name=vsftpd

secure_chroot_dir=/var/run/vsftpd

allow_writeable_chroot=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

每个虚拟用户的配置文件:

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/vsftpd/walktour

注意用户的目录/home/vsftpd/walktour必须要有+x权限否则没法在客户端列出目录。

参考资料:

http://www.cnblogs.com/eastson/archive/2012/06/21/2556461.html

vsftpd (1.6KB)