linux学习之-vsftp

一、简介

  vsftp是一个基于GPL发布的类unix系统上使用的ftp服务器软件,它的全称是very secure FTP ,软件的编写初衷是为了代码的安全,另外高速与高稳定性也是vsftp的两个重要特性。

二、安装

  • 安装方式

  1.可以通过包管理器直接安装编译好的二进制文件。

  2.可以去官网上下载源码包自己编译安装。

  • 安装过程

  1.使用wget下载官方源码包

wget https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz

  2.解压文件

 tar -zxvf vsftpd-3.0.2.tar.gz 

  3.编译安装

#进入到解压的文件夹内
cd vsftpd-3.0.2/
#里面有自带的安装说明文件INSTALL

#根据自己的实际需求,修改builddefs.h头文件
#里面定义了一些编译选项,可以根据自己的要求选择是否编译某个模块,
#例如,tcp_wrapper等。

#进行编译
make
#查看是否编译成功,成功的话会有vsftpd二进制文件生成
ls -l vsftpd

编译时出现错误如下,可以查看:http://www.cnblogs.com/z-books/p/4171195.html

/usr/bin/ld: cannot find -lcap
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
#解决办法
#根据上面连接可知,查看是否安装了libcap文件
rpm -qa|grep libcap

#查看libcap的相关文件
rpm -ql libcap

#查看Makefile文件
#根据查看可以知道,需要libcap.so文件
#做一个链接
ln -s /lib64/libcap.so.2 /lib64/libcap.so

#继续编译
make

#设置一些vsftpd需要的必须条件
#vsftpd默认配置中需要一个nobody用户
useradd nobody

#默认配置中需要一个空的目录
mkdir /usr/share/empty/

#对于匿名FTP,需要一个ftp用户,还有它的主目录
mkdir /var/ftp
useradd -d /var/ftp ftp

#更改匿名用户主目录权限
chown root.root /var/ftp
chmod og-w /var/ftp

#安装vsftpd配置文件,可执行文件,man手册
make install
#复制配置文件到/etc
cp vsftpd.conf /etc

#vsftpd可以独立运行或者依附于超级服务
#独立运行
vim /etc/vsftpd.conf
#增加一行
listen=YES
#这可以告诉vsftpd它以独立服务运行,而不是依赖于超级服务

#运行vsftpd
/usr/local/sbin/vsftpd &

#安装ftp客户端
yum install ftp

#测试
ftp localhost
#匿名登录用户名ftp,密码为空
#如果不能访问,可以关闭selinux
#添加端口21,22到iptables或者关闭iptables服务

 三、实现方式

  vsftp的实现方式有三种形式:

  1.匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问;

  2.本地用户形式:以/etc/passwd中的用户名为认证方式;

  3.虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。

比较:相对于ftp的本地用户形式来说,虚拟用户只是ftp服务器的专有用户,虚拟用户只能访问ftp服务器所提供的资源,这大大增强了系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取ftp服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的ftp站点来说,虚拟用户是一种极好的解决方案。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。