vsftpd安装、配置详解
2010-10-26 13:09
253 查看
一、vsftpd简介
Vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件。其全称是VerySecureFTP
Deamon,在安全性、速度和稳定性都有着不俗的表现。在安全性方面,vsftpd针对程序的权限来设计,以一般身份启动服务,对Linux系统的使用
权限较低;在千兆以太网上,vsftpd的速度可以达到86MB/s;在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发
连接为1500用户,峰值达4000用户,而这些还是在单机上实现的。此外,vsftpd还包括以下特性:
基于IP的虚拟服务器
虚拟用户,结合数据库的用户验证
每个用户独立配置文件
速率限制
IPV6支持
支持SSL加密传输
……
哪些站点在使用vsftpd
以下站点一直在使用vsftpd(这仅仅是很少很少的一部分站点)
ftp.redhat.com
ftp.suse.com
ftp.debian.org
ftp.openbsd.org
ftp.freebsd.org
ftp.gnu.org
ftp.gnome.org
ftp.kde.org
ftp.kernel.org
rpmfind.net
ftp.linux.org.uk
ftp.gimp.org
ftp-stud.fht-esslingen.de
gd.tuwien.ac.at
ftp.sunet.se
ftp.ximian.com
ftp.engardelinux.org
ftp.sunsite.org.uk
ftp.isc.org
以上内容摘自vsftpd官方网站
http://vsftpd.beasts.org/
二、软件安装和卸载
//查看是否安装了vsftpd和anonftp
[root@redhatlocal]#rpm-qa|grepvsftpd
[root@redhatlocal]#rpm-qa|grepanonftp
获得软件
vsftpd目前最新版本为vsftpd-2.3.2,下载地址:
ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.2.tar.gz
软件安装
1.解压软件,
[root@redhatlocal]#tar-zxvfvsftpd-2.3.2.tar.gz //解压vsftpsource文件
[root@redhatlocal]#cdvsftpd-2.3.2 //进入解压后的目录
[root@redhatvsftpd-2.3.2]#moreINSTALL//看看安装说明。比如要做什么工作。是个英文文档.
2.提供安装vsftpd服务的前提条件(根据上面moreINSTALL的安装说明)
[root@redhatvsftpd-2.3.2]#useraddnobody//这里需要加一个nobody用户。大家可以使用fingernobody查看下。看是否有这个用户,如果有就不需要加了.
useradd:usernobodyexists
[root@redhatvsftpd-2.3.2]#mkdir/usr/share/empty/ //这一步同上。服务器
需要一个empty的空目录放在/usr/share/下。可以使用ls/usr/share/empty查看。如果存在就不需要了,这步也可以跳过。
mkdir:无法创建目录`/usr/share/empty':文件已存在
如果需要开启匿名用户访问,需要做下面几步工作
[root@redhatvsftpd-2.3.2]#mkdir/var/ftp/ //创建供匿名用户使用的目录
[root@redhatvsftpd-2.3.2]#useradd-d/var/ftpftp
//创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:userftp
exists(FTP用户存在)就表示此用户已经存在。
(即使"ftp"用户已经存在,接下来的两步也是很有用).
[root@localhostvsftpd-2.3.2]#chownroot.root/var/ftp //设置/var/ftp,也就是ftp用户的家目录属组和属主都是root,为了安全。这步还是需要的
[root@localhostvsftpd-2.3.2]#chmodog-w/var/ftp //更改权限,去掉属组和其他人的写权限,上面这写工作做完了。
3.编译源代码及安装
[root@redhatvsftpd-2.3.2]#make //编译二进制文件
[root@redhatvsftpd-2.3.2]#makeinstall //安装,安装的时候可以看到安装的相关文件。
4.安装、编辑配置
[root@redhatvsftpd-2.3.2]#cpvsftpd.conf/etc/ //将默认配置文件考贝到/etc/
[root@redhatvsftpd-2.3.2]#cpRedHat/vsftpd.pam/etc/pam.d/vsftpd //为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。
[root@redhatvsftpd-2.3.2]#vi/etc/vsftpd.conf
然后按,跳到行尾。设置pam_server_name=vsftpd(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出
[root@redhatvsftpd-2.3.2]#cpvsftpd.conf.5/usr/local/man/man5
[root@redhatvsftpd-2.3.2]#cpvsftpd.8/usr/local/man/man8
基本到这里。所有工作就做完了。
软件卸载
如果需要卸载,使用如下命令:
#rm/usr/local/sbin/vsftpd
#rm/usr/local/man/man5/vsftpd.conf.5
#rm/usr/local/man/man8/vsftpd.8
#rm/etc/xinetd.d/vsftpd
#rm-rf/etc/vsftpd
三、配置vsftpd服务
服务的启动与停止
启动服务之前,我们先编辑配置文件/etc/vsftpd.conf.
打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。vsftpd.conf文件的所有项目都是以“参数=值
”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。每个参数都有一个默认值,没有在配置文件中明确指定
的参数就会使用默认值。我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入
到文件中:
listen=yes //vsftpd工作在standalone模式下
anonymous_enable=yes //允许匿名用户登陆服务器
local_enable=yes //允许本地用户登录到服务器
pam_service_name=vsftpd //使用PAM认证
vsftpd有两种工作模式,standalone模式和xinetd守护进程模式,第1行就是让其工作在standalone模式下。此种模式中,每次
修改配置文件必须重新启动vsftpd服务才能生效,关于两种模式在后面有详细介绍。我们安装时还把Redhat目录下的vsftpd.pam
文件复制成了/etc/pam.d/vsftpd文件。这个文件就是本地用户登陆的pam
验证配置文件。关于这个文件我们会在后面具体介绍。这里我们要知道,必须得有这个配置文件,而且主配置文件里要加上
pam_service_name=vsftpd语句,我们才能让本地用户登陆。用以下命令启动服务:
[root@redhatvsftpd-2.3.2]#/usr/local/sbin/vsftpd& //后台启动vsftp
我们可以通过pgrepvsftpd来查看vsftpd服务器是否运行起来;
[root@redhatvsftpd-2.3.2]#
pgrepvsftpd
上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;
为保证服务确实启动,我们用如下命令检测:
[root@redhatvsftpd-2.3.2]#netstat-an|grep21
tcp 0 00.0.0.0:21 0.0.0.0:* LISTEN
我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。再登录服务器:
[root@redhatvsftpd-2.3.2]#ftp127.0.0.1
Connectedto127.0.0.1.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_V4rejectedasanauthenticationtype
Name(127.0.0.1:root):ftp
331Pleasespecifythepassword.
Password:
230Loginsuccessful.
这时我们已经用匿名用户(用户名ftp或anonymous,密码任意)登录到服务器了,还可以用本地用户登录。我们做测试时建议使用如上所示的ftp命
令(windows、Linux及Unix都带这个命令,用法都是一样的)来登录服务器,这样可以看到更详细的信息,对于我们调试服务器是非常有帮助的。
最简单的ftp服务器就已经达建起来了。
使用如下命令关闭ftp服务:
[root@redhatvsftpd-2.3.2]#killallvsftpd //或是pkillvsftpd
[root@redhatvsftpd-2.3.2]#pgrepvsftpd //查看vsftpd服务器是否已经关闭
四、开机自启动
用vi打开etc/rc.local在里面加入/usr/local/bin/vsftpd&即可。
Vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件。其全称是VerySecureFTP
Deamon,在安全性、速度和稳定性都有着不俗的表现。在安全性方面,vsftpd针对程序的权限来设计,以一般身份启动服务,对Linux系统的使用
权限较低;在千兆以太网上,vsftpd的速度可以达到86MB/s;在稳定性上更是优秀,资料表明,完全工作24小时,传输数据达2.6TB,平均并发
连接为1500用户,峰值达4000用户,而这些还是在单机上实现的。此外,vsftpd还包括以下特性:
基于IP的虚拟服务器
虚拟用户,结合数据库的用户验证
每个用户独立配置文件
速率限制
IPV6支持
支持SSL加密传输
……
哪些站点在使用vsftpd
以下站点一直在使用vsftpd(这仅仅是很少很少的一部分站点)
rpmfind.net
ftp-stud.fht-esslingen.de
gd.tuwien.ac.at
以上内容摘自vsftpd官方网站
二、软件安装和卸载
//查看是否安装了vsftpd和anonftp
[root@redhatlocal]#rpm-qa|grepvsftpd
[root@redhatlocal]#rpm-qa|grepanonftp
获得软件
vsftpd目前最新版本为vsftpd-2.3.2,下载地址:
软件安装
1.解压软件,
[root@redhatlocal]#tar-zxvfvsftpd-2.3.2.tar.gz //解压vsftpsource文件
[root@redhatlocal]#cdvsftpd-2.3.2 //进入解压后的目录
[root@redhatvsftpd-2.3.2]#moreINSTALL//看看安装说明。比如要做什么工作。是个英文文档.
2.提供安装vsftpd服务的前提条件(根据上面moreINSTALL的安装说明)
[root@redhatvsftpd-2.3.2]#useraddnobody//这里需要加一个nobody用户。大家可以使用fingernobody查看下。看是否有这个用户,如果有就不需要加了.
useradd:usernobodyexists
[root@redhatvsftpd-2.3.2]#mkdir/usr/share/empty/ //这一步同上。
需要一个empty的空目录放在/usr/share/下。可以使用ls/usr/share/empty查看。如果存在就不需要了,这步也可以跳过。
mkdir:无法创建目录`/usr/share/empty':文件已存在
如果需要开启匿名用户访问,需要做下面几步工作
[root@redhatvsftpd-2.3.2]#mkdir/var/ftp/ //创建供匿名用户使用的目录
[root@redhatvsftpd-2.3.2]#useradd-d/var/ftpftp
//创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:userftp
exists(FTP用户存在)就表示此用户已经存在。
(即使"ftp"用户已经存在,接下来的两步也是很有用).
[root@localhostvsftpd-2.3.2]#chownroot.root/var/ftp //设置/var/ftp,也就是ftp用户的家目录属组和属主都是root,为了安全。这步还是需要的
[root@localhostvsftpd-2.3.2]#chmodog-w/var/ftp //更改权限,去掉属组和其他人的写权限,上面这写工作做完了。
3.编译源代码及安装
[root@redhatvsftpd-2.3.2]#make //编译二进制文件
[root@redhatvsftpd-2.3.2]#makeinstall //安装,安装的时候可以看到安装的相关文件。
4.安装、编辑配置
[root@redhatvsftpd-2.3.2]#cpvsftpd.conf/etc/ //将默认配置文件考贝到/etc/
[root@redhatvsftpd-2.3.2]#cpRedHat/vsftpd.pam/etc/pam.d/vsftpd //为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。
[root@redhatvsftpd-2.3.2]#vi/etc/vsftpd.conf
然后按,跳到行尾。设置pam_server_name=vsftpd(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出
[root@redhatvsftpd-2.3.2]#cpvsftpd.conf.5/usr/local/man/man5
[root@redhatvsftpd-2.3.2]#cpvsftpd.8/usr/local/man/man8
基本到这里。所有工作就做完了。
软件卸载
如果需要卸载,使用如下命令:
#rm/usr/local/sbin/vsftpd
#rm/usr/local/man/man5/vsftpd.conf.5
#rm/usr/local/man/man8/vsftpd.8
#rm/etc/xinetd.d/vsftpd
#rm-rf/etc/vsftpd
三、配置vsftpd服务
服务的启动与停止
启动服务之前,我们先编辑配置文件/etc/vsftpd.conf.
打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。vsftpd.conf文件的所有项目都是以“参数=值
”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。每个参数都有一个默认值,没有在配置文件中明确指定
的参数就会使用默认值。我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入
到文件中:
listen=yes //vsftpd工作在standalone模式下
anonymous_enable=yes //允许匿名用户登陆服务器
local_enable=yes //允许本地用户登录到服务器
pam_service_name=vsftpd //使用PAM认证
vsftpd有两种工作模式,standalone模式和xinetd守护进程模式,第1行就是让其工作在standalone模式下。此种模式中,每次
修改配置文件必须重新启动vsftpd服务才能生效,关于两种模式在后面有详细介绍。我们安装时还把Redhat目录下的vsftpd.pam
文件复制成了/etc/pam.d/vsftpd文件。这个文件就是本地用户登陆的pam
验证配置文件。关于这个文件我们会在后面具体介绍。这里我们要知道,必须得有这个配置文件,而且主配置文件里要加上
pam_service_name=vsftpd语句,我们才能让本地用户登陆。用以下命令启动服务:
[root@redhatvsftpd-2.3.2]#/usr/local/sbin/vsftpd& //后台启动vsftp
我们可以通过pgrepvsftpd来查看vsftpd服务器是否运行起来;
[root@redhatvsftpd-2.3.2]#
pgrepvsftpd
4248
上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;
为保证服务确实启动,我们用如下命令检测:
[root@redhatvsftpd-2.3.2]#netstat-an|grep21
tcp 0 00.0.0.0:21 0.0.0.0:* LISTEN
我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。再登录服务器:
[root@redhatvsftpd-2.3.2]#ftp127.0.0.1
Connectedto127.0.0.1.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_V4rejectedasanauthenticationtype
Name(127.0.0.1:root):ftp
331Pleasespecifythepassword.
Password:
230Loginsuccessful.
这时我们已经用匿名用户(用户名ftp或anonymous,密码任意)登录到服务器了,还可以用本地用户登录。我们做测试时建议使用如上所示的ftp命
令(windows、Linux及Unix都带这个命令,用法都是一样的)来登录服务器,这样可以看到更详细的信息,对于我们调试服务器是非常有帮助的。
最简单的ftp服务器就已经达建起来了。
使用如下命令关闭ftp服务:
[root@redhatvsftpd-2.3.2]#killallvsftpd //或是pkillvsftpd
[root@redhatvsftpd-2.3.2]#pgrepvsftpd //查看vsftpd服务器是否已经关闭
四、开机自启动
用vi打开etc/rc.local在里面加入/usr/local/bin/vsftpd&即可。
相关文章推荐
- VPS配置安装nginx和vsftpd方法详解
- vsftpd2.3.2安装、配置详解
- Vsftpd安装、系统用户及虚拟用户配置详解
- Linux CentOS6.3安装配置vsftpd服务器详解
- Vsftpd原理安装配置详解
- vsftpd基础详解及安装配置案例
- Linux安装vsftpd及配置详解
- ftp协议详解与vsftpd在linux上的安装配置
- CentOS 6.4下安装vsftpd 配置
- Maven系列(二)之安装和配置详解
- 详解consul的安装和配置
- mysql安装配置详解教程
- nginx服务器安装启动及配置文件详解
- Linux vsftpd编译安装和配置允许本地用户登录FTP
- [App] Saltstack 安装配置详解
- vsftpd配置详解
- phonegap安装 环境搭建与配置详解(3.4 完整版 提供下载地址)
- Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解