Vsftpd配置大全Word下载.docx
- 文档编号:18415088
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:42
- 大小:76.94KB
Vsftpd配置大全Word下载.docx
《Vsftpd配置大全Word下载.docx》由会员分享,可在线阅读,更多相关《Vsftpd配置大全Word下载.docx(42页珍藏版)》请在冰豆网上搜索。
同样的在Linux上,它依然体现了这个特点。
然而不仅在安全上是出色的,在速度上和稳定性上它都有着不俗的表现。
在速度上,Vsftpd完全超越了Wu-ftpd的速度,大约可以是Wu-ftpd速度的1.5到2倍的速率。
有记录表明,在千兆以太网上,Vsftpd的速率可以达到86Mbyte/sec。
稳定性上更是优秀,资料表明,完全工作了24小时,传输数据达2.6TB,平均并发连接为1500用户,这些都是在单机上实现的。
在单机非集群的情况下,它的并发连接可以达到4000用户。
除此之外,Vsftpd还在其他功能上有着自己的表现:
基于IP的虚拟ftp服务器;
实现虚拟用户,用户验证结合数据库;
可以选择基于standalone或者inetd模式;
为每个用户设置单独的配置文件;
限制速率;
支持全面的IPV6技术;
支持加密的SSL技术实现数据传输;
……
以上所有的内容摘自Vsftpd的官方网站,大家可以点击:
http:
//vsftpd.beasts.org。
1.2谁在使用VSFTPD
以下网站都一直在使用Vsftpd这个ftp软件:
∙
∙ftp.debian.org
∙ftp.openbsd.org
∙ftp.freebsd.org
∙ftp.gnu.org
∙ftp.gnome.org
∙ftp.kde.org
∙ftp.kernel.org
∙ftp.linux.org.uk
∙ftp.gimp.org
∙ftp-stud.fht-esslingen.de
∙gd.tuwien.ac.at
∙ftp.sunet.se
∙ftp.engardelinux.org
∙ftp.sunsite.org.uk
∙ftp.isc.org
2.安装
2.1软件获得
本教程所有试验环境搭建都是基于RADHATLinuxAdvanceServer3操作系统(以下简称RHAS3)。
完全选择最新Vsftpd软件安装版本,我们可以到Vsftpd的官方网站下载到最新的版本,据写书日期止,最新版本为vsftpd-2.0.3released我们可以到官方网站下载页面
ftp:
//vsftpd.beasts.org/users/cevans/下载。
#ftpvsftpd.beasts.org
Connectedtovsftpd.beasts.org.
220sphinx.mythic-FTPserverready.
500'
AUTHGSSAPI'
:
commandnotunderstood.
AUTHKERBEROS_V4'
KERBEROS_V4rejectedasanauthenticationtype
Name(vsftpd.beasts.org:
root):
ftp
331Guestloginok,typeyournameaspassword.
Password:
230-WelcometoMythicBeastsLtd.
230-Thissystemisforauthorisedusersonly.Allaccessislogged.
230Guestloginok,accessrestrictionsapply.
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
ftp>
get/users/cevans/vsftpd-2.0.3.tar.gz/tmp/vsftpd-2.0.3.tar.gz
quit
221Goodbye.
2.2软件安装
首先解压,使用tar命令:
#ls
jd_sockV4vsftpd-2.0.3.tar.gz
#tarzxvfvsftpd-2.0.3.tar.gz
进入解压后目录,修改builddefs.h文件内容,此文件中的语句及解释分别为:
#undefVSF_BUILD_TCPWRAPPERS//是否允许使用TCPWRAPPERS
#defineVSF_BUILD_PAM//是否允许使用PAM认证
#undefVSF_BUILD_SSL//是否允许使用SSL
其中如果允许加载上述功能模块的话就把前面的undef换成define。
其中TCPWRAPPERS是一个作用在inetd下的防火墙软件,很多管理员都喜欢用的一个技术;
PAM认证让Vsftpd可以支持本地用户登陆服务器;
SSL可以建立一个加密的数据传输。
因此我们把这三个功能都打上。
但是,一定要注意,前面的“#”号不能去掉。
关于这三个功能我们会在下面的内容中给大家具体介绍每个功能的配置。
builddefs.h文件修改完后,变成:
#lessbuilddefs.h
#ifndefVSF_BUILDDEFS_H
#defineVSF_BUILDDEFS_H
#defineVSF_BUILD_TCPWRAPPERS
#defineVSF_BUILD_PAM
#defineVSF_BUILD_SSL
#endif/*VSF_BUILDDEFS_H*/
安装之前检查一下是否原来默认安装了Vsftpd,如果安装了我们删除它:
#rpm-qvsftpd
vsftpd-1.2.1-3
#rpm-evsftpd
#rm-f/etc/xinetd.d/vsftpd
#chkconfigvsftpdoff
在RHAS3上,要编译Vsftpd之前的先得修改它的Makefile文件,我们这样做:
#viMakefile
把原里面的第六行为:
CFLAGS=-O2-Wall-W–Wshadow
改为:
CFLAGS=-O2-Wall-W-Wshadow-I/usr/kerberos/include-L/usr/kerberos/lib#-pedantic-Werror–Wconversion
保存这个文件。
然后编译、安装:
#make
#makeinstall
最后为了让Vsftpd支持本地用户登陆,我们要复制PAM认证文件:
#cpRedHat/vsftpd.pam/etc/pam.d/vsftpd
这样就完成了Vsftpd的安装,下一节我们会讨论Vsftpd服务的简单配置。
3.配置服务
3.1如何启动服务
默认情况我们的服务器是建立在standalone模式下的,所以配置文件只有一个。
默认的配置文件是/etc/vsftpd/vsftpd.conf。
启动服务的命令在/usr/local/sbin/vsftpd。
最简单的启动服务的方法是:
#/usr/local/sbin/vsftpd/etc/vsftpd/vsftpd.conf&
但是现在还没有写配置文件,所以服务以后再启动。
让我们编辑/etc/vsftpd/vsftpd.conf文件,在里面加入:
#lessvsftpd.conf
listen=yes
anonymous_enable=yes
第一句让我们可以在standalone模式下工作,第二句允许匿名用户登陆服务器。
这样我们再启动服务,服务就会启动成功,为了检测服务确实启动,我们需要:
#netstat-an|grep21
tcp000.0.0.0:
210.0.0.0:
*LISTEN
#telnet127.0.0.121
Trying127.0.0.1...
Connectedtoas1(127.0.0.1).
Escapecharacteris'
^]'
.
220(vsFTPd2.0.3)
登陆服务器:
#ftp127.0.0.1
Connectedto127.0.0.1.
530PleaseloginwithUSERandPASS.
Name(127.0.0.1:
331Pleasespecifythepassword.
230Loginsuccessful.
这样最简单的匿名服务器就搭建成功了。
如果要停止服务,就必须:
#killallvsftpd
3.2制作服务启动脚本
这样来不断启动服务和停止服务可能比较麻烦,我们来做一个简单的脚本可以方便的启动和停止服务。
#vi/etc/init.d/vsftpd
在里面加入:
#!
/bin/bash
#
#vsftpdThisshellscripttakescareofstartingandstopping
#standalonevsftpd.
#chkconfig:
-6050
#description:
Vsftpdisaftpdaemon,whichistheprogram\
#thatanswersincomingftpservicerequests.
#processname:
vsftpd
#config:
/etc/vsftpd/vsftpd.conf
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
[${NETWORKING}="
no"
]&
&
exit0
[-x/usr/local/sbin/vsftpd]||exit0
RETVAL=0
prog="
vsftpd"
start(){
#Startdaemons.
if[-d/etc/vsftpd];
then
foriin`ls/etc/vsftpd/*.conf`;
do
site=`basename$i.conf`
echo-n$"
Starting$progfor$site:
"
/usr/local/sbin/vsftpd$i&
RETVAL=$?
[$RETVAL-eq0]&
{
touch/var/lock/subsys/$prog
success$"
$prog$site"
}
echo
done
else
RETVAL=1
fi
return$RETVAL
}
stop(){
#Stopdaemons.
Shuttingdown$prog:
killproc$prog
rm-f/var/lock/subsys/$prog
#Seehowwewerecalled.
case"
$1"
in
start)
start
;
;
stop)
stop
restart|reload)
condrestart)
if[-f/var/lock/subsys/$prog];
status)
status$prog
*)
echo$"
Usage:
$0{start|stop|restart|condrestart|status}"
exit1
esac
exit$RETVAL
#chmod755/etc/init.d/vsftpd
这样我们就可以使用下面的方法来管理服务了:
#servicevsftpd{start|stop|restart|condrestart|status}
#servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
4.简单配置文件分组讲解
4.1匿名和本地用户登陆
anonymous_enable=yes/no//是否允许匿名用户登陆
local_enable=yes/no//是否允许本地用户登陆
pam_service_name=vsftpd//本地用户登陆认证的pam设置文件
还记得我们刚才把安装文件中的Redhat目录下的vsftpd.pam文件复制成了/etc/pam.d/vsftpd文件。
这个文件就是安装包里已经给我们写好的本地用户登陆的pam验证的配置文件。
关于这个文件我们会在下面的章节里具体介绍配置。
所以我们要知道,必须得有这个配置文件,而且还得在主配置文件里加上配置语句,我们才能让本地用户登陆。
我们把这几行设置加到配置文件中,然后先测试一下本地用户登陆:
andy
本地用户已经可以登陆ftp服务了。
但是他们都还只有浏览和下载的权限。
如果想有更多权限还得继续配置,不过我们先来总结一下匿名和本地用户的一些相关细节:
匿名用户
本地用户
登陆名
anonymous或ftp
本地用户名/etc/passwd
登陆密码
Email或者任意
本地用户密码/etc/shadow
映射本地用户
默认为ftp用户
或者使用
ftp_username
指定
本地用户本身
登陆目录
映射用户主目录
本地用户主目录
通过上面的表我们可以知道,如果想让匿名用户登陆,那么本地必须有一个ftp本地用户,然后设置他的主目录来让匿名用户可以登陆到系统上,为安全考虑,Vsftpd是不允许匿名用户对自己的ftp跟目录拥有写权限,所以我们可以这样:
#mkdir/var/ftp/
#useradd-d/var/ftp/ftp
这样,就可以让匿名用户登陆了。
如果想让本地用户拥有对服务器写的权限,那么加上此行:
write_enable=yes/no//是否允许对付ftp服务器使用下列命令:
STOR,DELE,RNFR,RNTO,MKD,RMD,APPE,SITE,PUT等一些对服务器有写操作的命令。
那么我们的原配置文件变成了:
local_enable=yes
pam_service_name=vsftpd
write_enable=yes
我们来测试一下:
putputfile
local:
putfileremote:
putfile
227EnteringPassiveMode(127,0,0,1,198,182)
150Oktosenddata.
226FilereceiveOK.
ls
227EnteringPassiveMode(127,0,0,1,72,3)
150Herecomesthedirectorylisting.
-rw-------15005000May0816:
35putfile
226DirectorysendOK.
quit
我们看到本地用户可以上传文件了,其实还是可以删除和改名的,试验就不做了,自己可以试试。
但是匿名用户依然无法对服务器有写的操作。
也就是说,现在的匿名用户只能下载和浏览。
在我们的服务器上可以有很多的本地用户,那么我们知道这些本地用户应该都是可以登陆ftp服务器的。
但是我们知道本来的ftp服务是明文传输的,如果允许管理员登陆的话,这种机制显然不太好。
又或者我们想让一些本地用户可以登陆,或者一些不能登陆我们的ftp服务器,这样我们可以怎么设置呢?
我们可以使用Vsftpd提供的userlist功能。
它简单的意思是说让一个文件来保存一些用户名,格式是一个用户名一行。
然后根据配置来决定文件中的本地用户和文件中没有列出的本地用户哪一部分可以登陆ftp服务器,这样就对本地用户的登陆起到了限制作用。
关于这个功能配置文件一共有这么几行:
userlist_enable=yes/no//是否启用userlist功能模块
userlist_deny=yes/no//是否拒绝userlist文件中用户登陆ftp服务
userlist_file=文件名//指定的userlist文件名
取值
userlist_enable=
yes
userlist_deny=
no
意义
在userlist_file指定文件里的本地用户不能登陆ftp服务器,但是没列在文件里的本地用户可以登陆ftp服务器。
在userlist_file指定文件里的本地用户能登陆ftp服务器,但是没列在文件里的本地用户不能登陆ftp服务器。
我们在配置文件中加入:
userlist_enable=yes
userlist_deny=yes
userlist_file=/etc/vsftpd/vsftpd.userlist
创建两个本地用户andy和nini。
我们把andy用户名字写到/etc/vsftpd/vsftpd.userlist文件中去。
然后测试:
530Permissiondenied.
Loginfailed.
usernini
4.2两类用户的共同设置
两类用户的共同设置先讲以下几行内容:
write_enable=yes/no//是否允许全局可写
download_enable=yes/no//是否允许所有用户可以下载
dirlist_enable=yes/no//是否允许
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vsftpd 配置 大全
![提示](https://static.bdocx.com/images/bang_tan.gif)