




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上次我们看到了基于 RedHat5 平台下的 DHCP 服务的搭建, 本次我们通过一个例子来看一下 RedHat5 平台下的 FTP 服务的搭建。FTP (FileTransferProtocol,文件传输协议) 是典型的 C/S 结构的应用层网络协议,需要有相应的客户端和服务器端软件才能进行文件传输。本次我们以 vsftpd 服务器端软件为例。该软件可以从站点 /中下载,在 RHEL5 系统中会自带有 vsftpd 软件。并且,安装好 vsftpd 软件包以后,将自动添加 vsftpd 系统服务,通过“/etc/init.d/vsftpd 脚本可
2、以控制 vsftpd 服务的启动和终止,而无需手动执行“/usr/sbin/vs 即 d 程序。下面我们来看看在 RedHat5 上是如何通过 vsftpd 服务器软件,搭建 FTP 的。具体的概念以及配置步骤和注意事项,咱们边做边说。第一部分:建立基于本地用户的vsftpd 服务1 .匿名 FTP访问匿名 FTP 服务器时不需要密码,只要使用用户名“ftp 或anonymous 即可通过验证。当需要提供公开访问的文件下载资源,或者让用户上传一些无需保密的数据资料时,可以选择搭建匿名 FTP 服务器。搭建的步骤如下所示:1.调整匿名上传目录权限。在 RHEL5 系统中,匿名用户对应的系统帐户为
3、 ftp,其宿主目录为“/var/ftp:该目录也就是匿名用户访问 vsftpd 服务时所在的根目录(可通过 anon_root 配置项更改)。HedHatEnterpriseLinu.xSeruerrelease5(Tikanga)KerneI2.6,18-8.曰15onan1686FTPseruerlogin:rootPassuofd!Last1oginSatJam16Q8-24i20antty1Eroo-tPFTPserverLrootOFTPservcr21ttLrootOFTFserverrootPFTPserverP”皿?ftproot!?FTPserver*#Is_-dizvar
4、zftpzpubzdrwxT-xr-xZftprootJan17200?LrootBFTFserver说明: 将其中 pub 子目录的属主修改为 ftp,并保留其可写权限, 可提供给匿名用户上传文件使用。我们给/var/ftp/创建一个文件到/var/ftp/目录下,以便稍后的测试。2.修改 vsftpd.conf 配置文件,开放匿名用户访问、上传许可。rootQFTPseruerIttanon_u.pload_enable=YES/etc/vsftpd/usftpd/etc/vsftpd/vsftpd.-uJ#/*etc/vsftpd/vsftpd.confwrite_ena.ble=YES
5、local_umask-022dirmessage_enib1e=YESxferlog_eTiab1eYESconnect_fpom_por*t_Z0=YESxfer*log_&td_forfnat=YES1istein=YESpam_serviice_name=vsftpduser!ist_enable=EStcp_uriippGrs=YESfl.non_up1oad_eiiiible=YESanon_mdLr*_writez-Cnatile=YESroot(?FTPserver说明:如果希望匿名用户在上传目录中能够进行覆盖、操作,还可以添力口 anon_other_write_enable
6、=YES 能带来安全性问题,所以启谨慎.用。一注意:由于匿名 FTP 根目录/var/ftp/”的默认权限为的属主更改为 ftp,否则匿名访问时可能会报错 500OOPS:vsftpd:refusingtorunwithwritableanonymousroot,此错误会导致访问失败。3.重新启动 vsftpd 服务ErooteFTPservepCroDtl?FTPseruer111yetcxinit.dzusftpdrestartShuttingdounusftpd:StartingvsTtpdforvsftpd:LrooteFTPserverH/etc/init.d/vsftpdresta
7、rtShuttingdounvsftpd:Startingusftpdforvsftpd;rootPFTFscrvcr的4.此时,我们到客户机上访问 FTP 服务器,测试下载及上传功能rootOFTPserverIttrootPFTPserverIttechorootOFTFserver1HechorootGFTPserMerJHable=YESlocal_cnable=YES删除、重命名文件等写入”的配置项。此项配置可755,因此不要将该目录rroolPGlieiit,相后京口CoriYiectedto.2Z0(vsFTPd2.0,53|530Pleaseloginwi
8、iliUSERand.PASS.530PIeaseloginultliUSEFendPASSKEREEBOS_Urej已匚tbdasanauthenticationtypeNAMC(19Z.168.1,1:roct):ftp|331Pleasespecifiytliepassuor-d.Password二Z30Loginsuccessfu1.HemotesystemtypeisUNIX.U5lngbinartjmodetotransferfiLes.ftpTsIZZ7EnterirgFassiveMode113乙j16B,111.63,63)150Herecomesthedirectory1i
9、sting.-ruj-r-p-100Z597Jan1613:50ftpconf1g.tar.bsZdrwxr-xr-x21404096Jan17Z9&7pubZZbDirectarysend01.添加 FTP 测试用户(也就是本地用户)。新建一个文件 file1 以便测试。CrateFTTsepuer*ltttraotFTPseruerlitusepaddzpprooteFTFseruerJ#poswudzppChangingpassunpdfor*userzpp.NeuUNIXpassuond:RetypeneuUNIXpassuard:passud:allauthenticationtok
10、ensupdatedsuccessfully.rootSFTPseruerlttcd/homc/zppPOo19FTPsepwepzppJUtouchrileitrootsFlTseruerzppjtt2.修改 vsftpd.conf 配置文件,开放本地用户rootPFTPseruerroDtFTPseruerJUgrep-uptt*/etcxusftpd/usftpd.confanonyinous_enable=MOlocalenable=YESwriteenable=YES1口匚己l_umash=0ZZdirmcssetgcjenablc=YESxferlog_enable=YESconn
11、ect_from_port_20=VESxferlog_st( (1_format=YESchroot_local_user=YE3pasu_enable=YESpam_seruice_name=usftpdUSET!ist_enable=YES1isten=YEStcp_urappers=YESLrootPFTPseruerltt说明:配置 chroot_local_user=YES”项,可以有效提高 FTP 服务器的安全性。否则,默认将允许 5 户切决到服务器中的/Var/、/etc/boot/”等宿主目录以外的文件夹,可能带来安风险。如果启用 lbcal_root=/var/ftproo
12、t”的配置选项时,本地用户登录该 FTP 服务器后,根目录和更改为指定的文件夹。该选项适用于 FTP 根目录需要保持固定的情况。如果希望 vsftpd 服务只对特定的本地用户开放,可以使用 userlist_enable、userlist_deny 配置项并结合用户列表文件/etc/vsftpd/user_list”实现,此处不做演示。3.重新启动 vsftpd 服务。rootFT?seruer*3iirootFTPserLeryetc/init.dusftpdrestartRhurLtingdounvsFtpd:fAILEDStartingvsftpdforvsftpd:OKJrootFTP
13、serucrltt/etc/init-d/vsftpdrestartShuttingdownvsftpd:(OKStartingvsftpdforwsftpd:OK1roDtFTFseruerltl4.在客户端访问 FTP 服务器,测试下载及上传功能1.root(?Client1HrootClient-JHtp习2_*16B_.1.11IConnectedto1?2,168.1.1.ZZ0(vsFTPdZ.0,1353BFleaselogrinwithUSERandPASS.530Please1og*inuithUSEJRandPASS.KEKBER1S_U4rejectedasanaiLth
14、erticationtL|peMame(19Z.168.11;root:_zpp_331Fleasespecifythepassuord.Passuopd:Z30Loginsuccessful1.RemotesystemtypeieUNIX.Usingbinarymodetotrasferfiles.ftpIs22?EnteringPassiveMode(192,1EJ8,1,1,253,170J1S0Herecomesthedirectorylisting.26Diit*eetOTqsendOK.8Jan16Q8:05fileiftpg叶,fiB1|loc1fi1e1r-emotefi1e1
15、Z27EnteringPassiveMode(192,168j1j1,233t228?150OpeningBINARYmodedataconnectionforfileiC9bytes),226FilesendOK.f*P_bLJLlITTTl可以看到用户登录和下载服务器上的资源都没有问题第二部分:建立基于虚拟用户的 vsftpd 服务建立虚拟用户的用户名/密码数据库Vsftpd 服务的虚拟用户数据库是使用 BerkeleyDB 格式的数据文件。建立该数据 库 文 件 需 要 用 到 db_load 命 令 工 具 , 从 RHEL5 光 盘 中 安 装db4-utils-4.3.29-9.f
16、c6.i386.rpm/件包后可获得该工具。首先建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中用户所对应的密码。FOot(?FT?seruerrootPFTPseruerr-ootfJFTTser-wer1sppOOl1Z3rcomEppBBN1ZpootRFITseruerJitJitcd/etc/vsftpdzMsftpdlitcat1ngimusftpdltt说明:此处建立了两个密码都为 的虚拟用户 zpp001 和 zpp002.然后用 db_load 工具将列表文件转化为 DB 数据库文件。ErootSFTPseruerusftpdlBraotQFTPserwe
17、rvsftpd1#dbload-T-thash-flogimuusers.dbrootHFTPsGrvGrvsftpdJ#filevusers.dbRisers,db:BerkeleyDBCHasliversion8jnatiueLytc-order)EruotSFITseruerusftpd#cliouni600/etezusftpd/kAisers.dbCrootSFITseri-crvsftpdlit说明:在 db_load 命令中,-f”选项用于指定用户名/密码列表文件,-T”选项允许非BerkeleyDB 的应用程序使用从文本格式转换的 DB 数据文件,-thash”选项指定读取数据
18、文件白基本方法。 将文件 vusers.db 的权限降底为 600 是为了安全性考虑。关于 db_load 命令的详细说明可参阅/Usr/share/doc/db4-utils-4.3.29/utility/db_load.html”文件。2.建立 FTP 访问的狂录及虚拟用户对应的系统帐号root(?FTPseruerueftpdJttrootUFTPscrvervsftpdJtlcdFrgotBFTTscrver#useradd-dvcir/ftproot-s/sbinznologiTivirtualrat(JFITseruer11tchmod755zuar/ftproot/CnoteFI
19、TsepuerJttcd/uar/ftproot/Lraot(?FTPseruerftprootltttouchfileLrootUFTPservcrftprootJtt说明:Vsftpd 虚拟用户需要有一个对应的系统用户帐号(该帐号不需要设置密码及登录 Shell),该用户帐号的宿主目录作为所有虚拟用户登录后的共同 FTP根目录。3.建立 PAM 认证文件POOtPFTFserer2Hcd/etc/panh.dzrootPFTTserverpam.dlttcatvsftpd.vuaitthrequiredpam_userdb-sodb-/etc/vsftpd/iscrsciccoiiTitr
20、etfuiredpftm_merdb.sodb=/etc/vsftpd/iAiserspoot(?FTPsEruerpam.dln说明:PAM 配置文件主要用于为程序提供用户认证控制,vsftpd 服务使用的默认 PAM 配置文件为/etc/pam.d/vsftpd”,s 可以参考该文件的格式建立新的 PAM 配置文件,用于虚拟用户的认证控制。配置时请注意将 db 选项指定为先前建立的虚拟用户数据文件 vusers(省略.db 扩展名)4.修改 vsftpd.conf 配置文件,添加虚拟用户支持在 vsftpd.conf 配置文件中,添力口 guest_enable、guest_useruse
21、rname 配置项,将访问 FTP 服务的所有虚拟用户。应到同一系统用户帐号 virtual,并修改 pam_service_name 配置项,指向上一步建立的 PAM 配置文件/etc/pam.d/vsftpd.vu”。rootSFITsepuerliteclioguest_enab1e=YES/etc/usfti) )d7vsftpd.confCpao10FTTseruerltt巴匚hciguest_usemarrte=uirtua1yetc/vsftpdyusftpd.canfroot0FT?seruerJaechopam_serujce_iiame=jsftjjd/etc/vsftjd
22、/i/sftpd+confrootSFITsepuerJitgrep-u*/etc/usftpdyvsftpd.corfanonymoiis_enabIE二NOlocal_eviable=YESwrite_eviable=YESlocalumask=02Z( (1irmessaje_enable-VESxferLog_enab1G=VESconncctrom_port_2曰=YESxferLog_std_fornrwit=YESpAsv_enftb1e=VESpam_servicc_name=vsftpduserIist_enablc=YESlisten=YEStcpi_idrftppers=
23、VE3甲lust_enabLe=YESauest_username=uir1tam_seruice_name=usftpd.uuTPOtSFTPseruerlit说明:在 vsftpd 服务中,虚拟用户账户默认作为匿名用户处理以降低权限,因此对应的权限设置通常使用以 anon_开头的配置项,5.为不同的虚拟用户建立独立的配置文件通过前面的四步,实际上已经可以重启 vsftpd 并提供服务了,使用虚拟用户帐号可以登录 FTP 服务器并下载文件。此步骤介绍如何为个别虚拟用户设置不同的访问权限。假如现在有这样的要求:zpp001 用户只有浏览和下载的权限,而 zpp002 可以浏览、下载、改名、删除
24、文件、建立和删除目录的权限,可以按如下的步骤实现:1.修改 vsftpd.conf 主配置文件,添加用户配置目录支持。rooteFTPseruepLrootQFTPserwerilechouser_coinfig_dir=./e*tc1vsfpdwiserxdir/巳tc/gPtpd/gFlroDtPFTPserverlit;说明:添加此行配置,指定用户配置目录的位置。2.为用户 zpp001 和 zpp002 建立独立的配置目录及文件rotSFTPseruerlited/etcusftpdtootOFTPserwerusftpdlttIsloginvsftpd.confwsers.dbwse
25、rsdirLrotSFTTservervsftpdl#cdVAAsers_dir/rt0FTPserversers_dirlttIs=pp001zpp002ratHFTPserueruuseis_diirjttcatzppBQliinon_worLd_readable_ony=N0ratSFTFserueruisers_dirttcatzpp00Zstnon_wor1d_peadable_on1y=N0anan_upLad._enab1e=ESananmkdip_urite_enable=YESiinon_other_write_enab1e=YESErootlJFTPserverrisers
26、dirJti说明:如果需要禁用或者允许一部分虚拟用户帐号,同样可以使用/etc/vs 即d/user_list”列表文件。需要注意的是,在/etc/vsftpd/ftpusers”文件中加入虚拟用户名,并不能禁用对应的系统帐号。6.重新启动 vsftpd 服务pootPFTFsierueplitIr-ootOFTPserkierlttzeto*init.d/vsftpdrestartShuttingdownvsftpd:UK1Startingvsftpdforvsftpd;OK1(root(?FTTserwer7.使用虚拟用户帐户访问 FTP 服务LrootWC1lentJttftp19Z-1
27、68.1.1ConnEctedto192.1btf.I.-1.(vsFTPdZ.0.1J530FIeaseloginuitliUSERandPASS,530FleaseloginuitliUSERandPASS,KERBEB0S_U4rejectedasananthentleationtypeNSME(19Z.168.1.1:root):|zppB91331PIeasespecifytliepassuoFT.Password:239Loginsuccessful1.RemotesijsteintypeisUNIX.Lisinabinargmodetotransferfiles.rtpis22?EnteringPassiveMode(192J681iJS乙245)150Herecomest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学年第一学期幼儿教学工作总结模版
- 创先争优个人学习心得体会模版
- 新生儿单纯疱疹病毒感染的临床护理
- 社保委托代表协议
- 重力教学设计
- 上学期八年级语文教学工作总结模版
- 某精密模具有限公司品质管理系统
- 猫咪输液护理常规
- 部编本大小多少教学设计
- 7S管理培训体系精要
- 批评不可怕课件
- 金蝶K3-ERP系统管理制度
- 厨房用电安全知识
- 通信工程项目管理流程
- 具身智能项目建议书(参考)
- AI系列培训课件-人工智能技术及应用课件第1章
- 云南省昆明市盘龙区2024-2025学年八年级上学期期末质量监测英语试题(含答案)
- DBJT13-369-2021 福建省装配式建筑非砌筑内隔墙技术标准
- 艺术治疗在精神康复中的应用-洞察分析
- 低空准备项目申请报告
- XX市路灯照明工程项目可行性研究报告
评论
0/150
提交评论