项目7FTP服务器的配置与管理.docx
- 文档编号:24228169
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:35
- 大小:791.39KB
项目7FTP服务器的配置与管理.docx
《项目7FTP服务器的配置与管理.docx》由会员分享,可在线阅读,更多相关《项目7FTP服务器的配置与管理.docx(35页珍藏版)》请在冰豆网上搜索。
项目7FTP服务器的配置与管理
项目7-FTP服务器的配置与管理
项目情景
在90年代,不像现在实时通信软件这么发达,用户随时可通过MSN、QQ等软件传送信息以及下载文件。
因此下载文件时,多半是使用FTP这样的服务、特别是下载影音文件,办公软件。
网络刚开始兴起时,一般拨号上网的速度为64kbt/s,实际可用最多为40-40kbt/s,因此在文件传输上,必须使用最省时的传输方式。
试想,一个3MB的mp3文件,FTP就要花十来分钟下载,更别说其他的传输方式了。
时至今日,尽管文件传输方式已经相当多元且网络带宽已经达到1mbt/s以上,但是FTP仍占有一席之地,主要原因是对单一文件的传输效能较好。
若我们要传输数十或者数百兆的文件,通过FTP的传输仍是不二之选。
项目说明
本项目使用vsftp的安装与调试、架设匿名模式的ftp服务器和本地实名模式的ftp服务器来讲解Linux中ftp服务器,每种问题都会有实例穿插讲解,由浅入深的介绍ftp的主要功能。
能力目标:
1、了解FTP服务,学习FTP服务配置与使用方法
2、熟练掌握vsftpd服务器安装方法
3、熟练掌握FTP服务的停止、启动和重启命令
4、了解FTP相关配置文件配置
5、熟练掌握客户端访问FTP服务器的方式
6、熟练掌握匿名模式下的FTP配置
7、熟练掌握实名模式下的FTP配置
任务1ftp服务器的安装与运行
【任务目标】
了解ftp服务器的原理
掌握ftp服务器的安装方法
掌握ftp服务器的开启、关闭方法
【任务说明】
本任务主要介绍ftp服务器的基本原理、ftp的安装方法以及配置ftp服务器的相关配置文件及其内容介绍。
【相关知识】
Linux系统支持的FTP服务器软件有很多,但如果从软件功能,性能和可配置性等方面考虑,常用的主要有以下几种,用户可以通过其官方网站获取安装文件以及更详细的介绍。
WU-FTPD:
它的全称为WashingtonUniversityFTP,是一个非常有名的Ftp服务器端软件,广泛应用于UNIX和Linux服务器。
ProFtpD:
其是一个可靠的Ftp服务器,它比WU-FTP更加稳定,修复了很多的BUG,并针对WU-FTP的不足之处作了补充,因此是WU-FTPD的最佳替代品。
Vsftpd:
其是一个安全、稳定、高性能的开源FTP服务器软件,适用于多种的UNIX和Linux系统。
它的全称是VerySecureFTPDaemon,中文翻译就是“非常安全的FTP”
由此可见,它的开发者ChrisEvans把安全作为这个软件设计的首要考虑因素。
Pure-FTP:
其是一个高效、简单、安全的FTP服务器软件。
它的功能相当多,而且非常实用。
官方网站为:
http:
//www.pureftpd.org/。
【实现步骤】
步骤1.FTP服务简介
FTP的全称是FileTransferProtocol(文件传输协议),就是专门用来传输文件的协议。
而FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。
在众多网络应用中,FTP有着非常重要的地位。
当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中,这样就大大地方便了文件在网络上的共享,FTP的存在充分体现了互联网资源共享的精神。
与大多数Internet服务一样,FTP也是一个客户机/服务器系统。
用户通过一个支持FTP协议的客户端程序,连接到主机上的FTP服务器程序。
用户通过客户端程序向服务器程序发出命令,服务器程序执行用户发出的命令,并将执行结果返回给客户端。
FTP服务器根据服务对象的不同可以分为两类,系统FTP服务器只允许系统上的合法用户登录到FTP服务器,匿名FTP服务器则允许任何人登录到FTP服务器去获取文件。
本章主要是介绍Linux操作系统下常用FTP服务器的配置和使用。
通常,访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件等。
vsftpd提供了3种ftp登录的形式。
分别为如下的三种:
(1)anonymous(匿名帐号)
使用anonymous(匿名帐号)是应用最广泛的一种FTP服务器。
如果用户在 FTP服务器上没有帐号,那么可以anonymous为用户名,以自己的电子邮件为密码进行登录。
当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp。
为了减轻FTP服务器的负载,一般情况下,应关闭匿名帐号的上传功能。
(2)real(真实帐号)
real(真实帐号)也称本地帐号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号。
用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建,例如在LinuxFedoraCore8系统中建立一个名为aaa的用户,那么它的默认目录就是/home/aaa。
真实用户可以访问整个目录结构,从而对系统安全构成极大威胁,所以,应尽量避免用户使用真实帐号访问FTP服务器。
(3)guest(虚拟帐号)
如果用户在FTP服务器上拥有帐号,但此帐号只用于文件传输服务,那么该帐号就是guest(虚拟帐号),guest是真实帐号的一种形式,它们的不同之处在于:
guest登录 FTP服务器后,不能访问除宿主目录以外的内容。
步骤2.安装vsftpd服务器
由于FTP很常用,所以Linux在默认状态下将自动安装vsftpd,可以使用如图8.1所示命令进行查看:
图8.1查看是否安装vsftpd
若出现提示“vsftpd-2.0.5-16.el5.i386.rpm”,说明系统已经安装了版本为“vsftpd-2.0.5-16.el5.i386.rpm”的vsftpd软件。
如果系统没有安装vsftpd,可用Linux自带的“Add/RemoveSoftware”工具来安装FTP软件包(vsftpd)。
1、字符界面下安装vsftpd服务
首先要把Linux 的安装盘放入光驱,打开路径后,用命令安装“vsftpd-2.0.5-16.el5.i386.rpm”,如图8.2所示。
图8.2安装”vsftpd
2、图形界面下安装vsftpd服务
在图形界面安装也一样,步骤如下:
在桌面上打开“计算机”的图标,然后打开“CD-驱动器”,进入“Packages”的文件夹,再找到 “vsftpd-2.0.5-16.el5.i386.rpm”的rpm压缩包文件,在上面双击按应用即可安装,步骤如图8.3所示.
图8.3图形界面下安装vsftpd服务
3、使用Linux系统中的【添加/删除软件】程序安装vsftpd服务
如果IP已经设置且能上网的,就可以在菜单栏上按【应用程序】再选择【添加/删除软件】进入后,找到“vsftpd-2.0.5-19.fc8.i386.rpm”或【FTP服务器】后在前方打钩,再按【应用】,之后的就按着提示执行。
步骤3.关闭、启动和重启动VSFTPD服务
1、使用普通命令方式如图8.4所示。
图8.4普通命令方式关闭、启动和重启动VSFTPD服务
2、使用service命令方式(建议大家使用),如图8.5所示
图8.5service命令方式关闭、启动和重启动VSFTPD服务
步骤4.VSFTPD服务器的配置
1、VSFTPD的文件结构
在LinuxFedoraCore8中,系统默认安装的FTP软件是vsftpd,其相关的配置文件有:
◆/usr/sbin/vsftpd——VSFTPD的主程序
◆/etc/rc.d/init.d/vsftpd——启动脚本
◆/etc/vsftpd/vsftpd.conf——主配置文件
◆/etc/pam.d/vsftpd——PAM认证文件
◆/etc/vsftpd/ftpusers——禁止使用VSFTPD的用户列表文件
◆/etc/vsftpd/user_list——禁止或允许使用VSFTPD的用户列表文件
◆/var/ftp——匿名用户主目录
◆/var/ftp/pub——匿名用户的下载目录
◆/etc/logrotate.d/vsftpd.log——VSFTPD的日志文件
2、vsftpd.conf文件说明
/etc/vsftpd/vsftpd.conf是FTP服务器中最主要的配置文件,用gedit骗辑器打开/etc/vsftpd/vsftpd.conf配置该文本文件(注意:
使用“#”字符开始的行是注释行,每个选项设置为一行,格式为“option=value”,且注意“=”号两边不能留空白符。
)如下所示:
#Exampleconfigfile/etc/vsftpd/vsftpd.conf
#Thedefaultcompiledinsettingsisfairlyparanoid.Thissamplefile
#loosensthingsupabit,tomaketheftpdaemonmoreusable.
#Pleaseseevsftpd.conf.5forallcompiledindefaults.
#READTHIS:
ThisexamplefileisNOTanexhaustivelistofvsftpdoptions.
#Pleasereadthevsftpd.conf.5manualpagetogetafullideaofvsftpd's
#capabilities.
#AllowanonymousFTP?
(Beware-allowedbydefaultifyoucommentthisout).
//是否允许匿名用户登录,默认为YES
anonymous_enable=YES
#Uncommentthistoallowlocaluserstologin.
//是否允许本地用户登录,默认为YES
local_enable=YES
#UncommentthistoenableanyformofFTPwritecommand.
//是否给予用户在FTP中执行写的权利,默认为YES
write_enable=YES
#Defaultumaskforlocalusersis077.Youmaywishtochangethisto022,
#ifyourusersexpectthat(022isusedbymostotherftpd's)
//本地用户新增档案时的umask数值。
默认值为077。
local_umask=022
#UncommentthistoallowtheanonymousFTPusertouploadfiles.Thisonly
#hasaneffectiftheaboveglobalwriteenableisactivated.Also,youwill
#obviouslyneedtocreateadirectorywritablebytheFTPuser.
//控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO。
#anon_upload_enable=YES
#UncommentthisifyouwanttheanonymousFTPusertobeabletocreate
#newdirectories.
//控制是否允许匿名用户创建新目录,YES允许,NO不允许,默认是不设值,即为NO。
#anon_mkdir_write_enable=YES
#Activatedirectorymessages-messagesgiventoremoteuserswhenthey
#gointoacertaindirectory.
//控制是否启用目录提示信息功能。
YES启用,NO不启用,默认值为YES。
dirmessage_enable=YES
#Activateloggingofuploads/downloads.
//启动上传和下载日志功能,默认为YES
xferlog_enable=YES
#MakesurePORTtransferconnectionsoriginatefromport20(ftp-data).
//启动FTP数据端口连接请求,默认为YES
connect_from_port_20=YES
#Ifyouwant,youcanarrangeforuploadedanonymousfilestobeownedby
#adifferentuser.Note!
Using"root"foruploadedfilesisnot
#recommended!
//是否修改匿名用户所上传文件的所有权,默认为不设。
#chown_uploads=YES
//指定拥有匿名用户上传文件所有权的用户,默认为不设。
#chown_username=whoever
#Youmayoverridewherethelogfilegoesifyoulike.Thedefaultisshown
#below.
//设置日志文件的文件名以及存储路径,默认值是/var/log/vsftpd.log。
#xferlog_file=/var/log/vsftpd.log
#Ifyouwant,youcanhaveyourlogfileinstandardftpdxferlogformat.
#Notethatthedefaultlogfilelocationis/var/log/xferloginthiscase.
//是否适用标准的ftpdxferlog日志文件
xferlog_std_format=YES
#Youmaychangethedefaultvaluefortimingoutanidlesession.
//空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。
单位为秒,默认值为600,即10分钟。
#idle_session_timeout=600
#Youmaychangethedefaultvaluefortimingoutadataconnection.
//空闲的数据连接的超时时间。
默认值为120秒,即2分钟。
#data_connection_timeout=120
#Itisrecommendedthatyoudefineonyoursystemauniqueuserwhichthe
#ftpservercanuseasatotallyisolatedandunprivilegeduser.
//设定服务执行者为ftpsecure
#nopriv_user=ftpsecure
#EnablethisandtheserverwillrecogniseasynchronousABORrequests.Not
#recommendedforsecurity(thecodeisnon-trivial).Notenablingit,
#however,mayconfuseolderFTPclients.
//是否开启异步ABOR服务
#async_abor_enable=YES
#BydefaulttheserverwillpretendtoallowASCIImodebutinfactignore
#therequest.TurnonthebelowoptionstohavetheserveractuallydoASCII
#manglingonfileswheninASCIImode.
#BewarethatonsomeFTPservers,ASCIIsupportallowsadenialofservice
#attack(DoS)viathecommand"SIZE/big/file"inASCIImode.vsftpd
#predictedthisattackandhasalwaysbeensafe,reportingthesizeofthe
#rawfile.
#ASCIImanglingisahorriblefeatureoftheprotocol.
//控制是否允许使用ascii模式上传文件,YES允许,NO不允许,默认为NO
#ascii_upload_enable=YES
//控制是否允许使用ascii模式下载文件,YES允许,NO不允许,默认为NO。
#ascii_download_enable=YES
#Youmayfullycustomisetheloginbannerstring:
//此参数定义了loginbannerstring(登录欢迎语字符串)。
用户可以自行修改。
预设值为无。
#ftpd_banner=WelcometoblahFTPservice.
#Youmayspecifyafileofdisallowedanonymouse-mailaddresses.Apparently
#usefulforcombattingcertainDoSattacks.
//此参数默认值为NO。
当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户
#deny_email_enable=YES
#(defaultfollows)
//指定包含被拒绝的e-mail地址的文件,默认文件为/etc/vsftpd/banned_emails。
#banned_email_file=/etc/vsftpd/banned_emails
#Youmayspecifyanexplicitlistoflocaluserstochroot()totheirhome
#directory.Ifchroot_local_userisYES,thenthislistbecomesalistof
#userstoNOTchroot().
//锁定某些用户在自家目录中。
即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。
具体的用户在chroot_list_file参数所指定的文件中列出。
默认值为NO。
#chroot_list_enable=YES
#(defaultfollows)
//指出被锁定在自家目录中的用户的列表文件。
文件格式为一行一用户。
通常该文件是/etc/vsftpd/chroot_list。
此选项默认不设置。
#chroot_list_file=/etc/vsftpd/chroot_list
#Youmayactivatethe"-R"optiontothebuiltinls.Thisisdisabledby
#defaulttoavoidremoteusersbeingabletocauseexcessiveI/Oonlarge
#sites.However,somebrokenFTPclientssuchas"ncftp"and"mirror"assume
#thepresenceofthe"-R"option,sothereisastrongcaseforenablingit.
//YES,允许使用"ls-R"指令。
这个选项有一个小的安全风险,因为在一个大型FTP站点的根目录下使用"ls-R"会消耗大量系统资源。
默认值为NO。
#ls_recurse_enable=YES
#When"listen"directiveisenabled,vsftpdrunsinstandalonemodeand
#listensonIPv4sockets.Thisdirectivecannotbeusedinconjunction
#withthelisten_ipv6directive.
//是否设置vsftpd为独立运行,默认是yes(属必须设为YES的选项)
listen=YES
#ThisdirectiveenableslisteningonIPv6sockets.TolistenonIPv4andIPv6
#sockets,youmustruntwocopiesofvsftpdwhithtwoconfigurationfiles.
#Makesure,thatoneofthelistenoptionsiscommented!
!
#listen_ipv6=YES
//设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下。
pam_service_name=vsftpd
//是否允许用户列表中的用户登录FTP服务器,默认为不允许登录,即默认值为YES
userlist_enable=YES
//是否设置tcp_wrappers作为主机访问控制方式
tcp_wrappers=YES
虽然vsftdpd.conf中的文本比较多,但是大部分都是注释,如果需要使用一些被注释掉的选项设置,那么只需要将前面的“#”号删除即可。
3、ftpusers文件说明
/etc/vsftpd/ftpusers文件是用来记录“不允许”登录到FTP服务器的用户,通常是系统默认的用户,以下是该文件中默认的不允许登录的名单:
#Usersthatarenotallowedtologinviaftp
#root//默认情况下,root和它以下的用户是不允许登录FTP服务器的,如果管理员不允许某些用户登录到FTP服务器,可以把它们的名字添加到该文件,但切记每个用户都要单独占用一行
#he
#dragon
#admin
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
4、user_list文件说明
其实user_list文件的内容和/etc/vsftpd/ftpusers文件的内容一样,只是在系统对文件vsftpd.conf进行检测时,会检测到“userlist_deny=YES”,因此这个文件必须存在。
下面是这个文件的内容:
#vsftpduserlist
#Ifuserlist_deny=NO,onlyallowusersinthisfile
#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 FTP 服务器 配置 管理
