⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0410vsftpd.htm

📁 鸟哥LINUX 学习课本
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>   <meta http-equiv="Content-Type" content="text/html; ">   <meta name="Author" content="VBird">   <meta name="GENERATOR" content="Mozilla/4.5 [zh-TW] (WinNT; I) [Netscape]">   <meta name="Description" content="關於 domain name server 的設定方法介紹喔!">   <title>鸟哥的 Linux 私房菜 -- very secure FTP (vsftp) server</title><!-- saved from url=(0022)http://internet.e-mail --><style>   <!--   body{background-image=url(http://linux.vbird.org/VBirdLinux.jpg);background-ATTACHMENT=FIXED}   --></style></head><body nosave="" background="0410vsftpd_files/VBirdLinux.jpg"><center><center><b><font size="+2" color="#3333ff"><font face="SimSun">鸟哥的</font><font face="Times New Roman,Times"> Linux </font><font face="SimSun">与</font><font face="Times New Roman,Times"> ADSL </font><font face="SimSun">私房菜</font></font></b><br><a href="http://linux.vbird.org/" target="_top"><img src="0410vsftpd_files/VBirdTitle2.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_basic"><img src="0410vsftpd_files/icon_system.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_server"><img src="0410vsftpd_files/icon_server.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_security"><img src="0410vsftpd_files/icon_security.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://phorum.vbird.org/" target="_blank"><img src="0410vsftpd_files/icon_forums.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/adsl"><img src="0410vsftpd_files/icon_adsl.gif" nosave="" border="0" height="25" width="90"></a><br><hr width="100%"></center><font size="+2" color="#3333ff"><a href="http://linux.vbird.org/linux_server/0410vsftpd.php" target="_self"><font face="SimSun">简易</font><font face="Times New Roman,Times">vsftpd </font><font face="SimSun">服务器设定</font></a></font></center><div align="right"><font size="-1" color="#3333ff" face="SimSun">最近更新日期:2003/09/04</font></div><font size="-2" color="#000099"> </font><table bgcolor="#ffcccc" border="1" cols="1" width="100%"><tbody><tr><td><font size="-1" color="#000099">既然说 FTP 真的很危险,那么不要开启也罢!不过,偏偏很多时候我们又得使用到FTP 的功能。这个时候选择一个比较安全的 FTP 服务器软件就很重要啦!除了 proftpd可以取代 Wu FTP 之外,另一个蛮安全的 vsftpd 也可以用来取代喔!这个章节我们就来谈一谈vsftpd 的设定吧!</font></td></tr></tbody></table><font size="-2" color="#000099"> </font><br><font size="+1" color="#000099"><a href="#theory">前言</a>:</font><br><font size="+1" color="#000099"><a href="#package">套件安装</a>:</font><br><font color="#000099">  :<a href="#package_rpm">以 RPM 安装</a></font><br><font color="#000099">  :<a href="#package_tarball">以 Tarball 安装</a></font><br><font size="+1" color="#000099"><a href="#server">Server 端的设定</a>:</font><br><font color="#000099">  :<a href="#server_package">vsftpd 的套件结构</a></font><br><font color="#000099">  :<a href="#server_vsftpd.conf">vsftpd.conf设定值说明</a></font><br><font color="#000099">  :<a href="#server_easy_vsftpd.conf">最简单的vsftpd.conf 设定</a></font><br><font color="#000099">  :<a href="#server_real_user">针对仅有开放实体用户登入的设定</a></font><br><font color="#000099">  :<a href="#server_anonymous">针对仅有开放匿名使用者登入的设定</a></font><br><font color="#000099"><font size="+1"><a href="#client">Client 端的设定</a></font>:</font><br><font size="+1" color="#000099"><a href="#security">安全相关方面</a>:</font><br><font color="#000099">  :<a href="#security_firewall">防火墙抵挡</a></font><br><font color="#000099">  :<a href="#security_xinetd">Super daemon的管理</a></font><br><font color="#000099">  :<a href="#security_resolution">问题解决方案</a></font><br><font size="+1" color="#000099"><a href="#ftp_recommand">对于 FTP服务器软件选择的建议</a>:</font><br><font size="+1" color="#000099"><a href="#reference">参考资源</a>:</font><br><hr width="100%"><a name="theory"></a><font size="+1" color="#000099">前言</font><ul>除了 proftpd 之外,事实上,这个 vsftpd 也是一个很好的 FTP 服务器软件喔!为什么这么说呢?因为vsftpd 全名是『<font color="#000066">very secure FTP daemon</font>』的意思,所以他的发展本来就是以安全性为考虑来发展这个套件的。vsftpd在安全性的考虑上面,主要针对了『<font color="#000066">程序的权限, privilege</font>』概念来设计的,因为我们的任何服务在Linux 上面运作时都会取得一个 PID,而这个 PID 是有拥有者的身份的,也就是说,这个服务的PID 在我们的 Linux 上面是具有某些『权限』的。万一这个服务的 PID 所属拥有者的身份等级太高,例如root 的权限,那么如果不幸该 PID 有些设计上的漏洞,使得该 PID 被入侵的话,入侵者将具有该PID 的权限,也就是 root 的身份喔!所以,近来发展的套件都会尽量的将服务取得的PID 权限降低,使得该服务即使不小心被入侵了,入侵者也无法得到有效的系统管理权限,这样会让我们的系统较为安全的啦。<br> <br>除了上面这个权限的设计之外, vsftpd 也利用 chroot 这个软件的辅助,来让登入者仅能于一些较不重要的目录当中活动,而无法使用Linux 系统全部的功能。所谓的 chroot 这个函数,最主要的功能就是『<font color="#000066">改变根目录的所在( change root directory )</font>』了!举例来说,如果您想要让使用者登入A 服务后,且执行任何指令都是在 /tmp/pub 目录下,并限制使用者使用 A 服务时都只能在/tmp/pub 目录下,那么使用『<font color="#000066"> chroot /tmp/pub command』</font>就能够让 /tmp/pub 变成 A 服务的根目录『/』了!如此一来,使用者就无法离开/tmp/pub ,那么万一我们 A 服务的 PID 还是被入侵时,没有关系,入侵者还是仅能在/tmp/pub 里面跑来跑去而已,而无法使用 Linux 的完整功能。这个时候,自然我们的系统也就会比较安全啦!<br> <br>vsftpd 是基于上面的说明来设计的一个较为安全的 FTP 服务器软件,他具有底下的特点喔:<br> <ul><li><font color="#000066">vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;</font></li><li><font color="#000066">任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;</font></li><li><font color="#000066">所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;</font></li><li><font color="#000066">此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。</font></li></ul> <br>由于具有这样的特点,所以 vsftpd 会变的比较安全一些咯!<br> <br>另外,要架设 vsftpd 之前,还是请您得先要针对 FTP 的主动联机、被动联机以及port 21, 20 这两个指令信道与数据信道的基础有一定程度的认识喔,会比较容易进入状况,所以,还是回到前面的<a href="http://linux.vbird.org/linux_server/0400wuftp.php">WuFTP</a> 那一张节,将前言的部分看完才好吶!我这里假设您已经具有 FTP 的相关知识了,所以底下就直接来进行vsftpd 的安装与设定吧!</ul><hr width="100%"><a name="package"></a><font size="+1" color="#000099">套件安装:</font><ul><hr width="100%"><a name="package_rpm"></a><font color="#000099">以 RPM安装</font><br> <br>在目前新版的 Red Hat 9 主要的 FTP 服务器软件就是 vsftpd 这个玩意儿!所以您可以拿出光盘里面的vsftpd 来直接以 RPM 安装即可!如果您的 Linux distribution 没有提供 vsftpd的话,没有关系,我们也可以使用底下的 Tarball 的方式来安装吶!<br> <br><hr width="100%"><a name="package_tarball"></a><font color="#000099">以Tarball 安装</font><br> <br>要以 Tarball 安装,当然得先下载 Tarball 的档案了!vsftpd 的官方网站下载点为:<ul><a href="ftp://vsftpd.beasts.org/users/cevans/" target="_blank">ftp://vsftpd.beasts.org/users/cevans/</a></ul>您可以自行找寻自己喜欢的版本来安装。我这里以 1.2.0 这一版来安装 vsftpd在我的 Mandrake 9.0 上面喔!(注:如果是 Red Hat 的系统,原本就有 vsftpd了,所以使用 RPM 安装比较好!至于其它没有提供 vsftpd RPM 档案的 distribution就可以使用 Tarball 咯!)<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#ffffcc" face="SimSun">1. 下载与解压缩:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">wget \</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">&gt; </font><font color="#ffff00">ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> cd /usr/local/src</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">tar -zxvf /root/vsftpd-1.2.0.tar.gz</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> cd vsftpd-1.2.0/</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 在这个目录下有个INSTALL 与 README 请务必察看喔!</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#ffffcc" face="SimSun">2. 开始编译与安装</font><br><font size="-1" color="#ffffcc" face="SimSun"># vsftpd 预设安装的路径为:</font><br><font size="-1" color="#ffffcc" face="SimSun"># 所有可执行档放置在/usr/local/sbin 里面;</font><br><font size="-1" color="#ffffcc" face="SimSun"># man page放置在 /usr/local/man/man5 与 /usr/local/man/man8</font><br><font size="-1" color="#ffffcc" face="SimSun"># 若 superdaemon 为 xinetd 时,会复制一份启动档案到 /etc/xinetd.d 去!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]#</font><font color="#ffff00"> make</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 编译的过程可能有warning 的讯息,只要不是 Error 就可以不理他!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">make install</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]#</font><font color="#ffff00"> cp vsftpd.conf /etc</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 将 PAM 身份认证模块给他放进去系统里面!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]#</font><font color="#ffff00"> cp RedHat/vsftpd.pam /etc/pam.d/vsftpd</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 建立 ftp这个使用者以及他的家目录:</font><br><font size="-1" color="#ff6666" face="SimSun"># 若本来就存在ftp 这个使用者,那就不需要进行新增!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">useradd -M ftp -d /var/ftp</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">mkdir -p /var/ftp</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]#</font><font color="#ffff00"> chown root:root /var/ftp</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]#</font><font color="#ffff00"> chown 755 /var/ftp</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 建立 vsftpd需要的特殊目录</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]#</font><font color="#ffff00"> mkdir -p /usr/share/empty</font></font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#ffffcc" face="SimSun">3. 如果需要移除时:</font><br><font size="-1" color="#ffffcc" face="SimSun"># 如果想要移除vsftp 时,可以这样做</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">rm /usr/local/sbin/vsftpd</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">rm /usr/local/man/man5/vsftpd.conf.5</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">rm /usr/local/man/man8/vsftpd.8</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">rm /etc/xinetd.d/vsftpd</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testvsftpd-1.2.0]# </font><font color="#ffff00">rm /etc/vsftpd.conf</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 因为刚刚安装只有安装这几个档案而已说!所以啦,vsftpd 真的是挺安全的说!</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#ffffcc" face="SimSun">4. 测试:</font><br><font size="-1" color="#ffffcc" face="SimSun"># 先确认一下xinetd.d 有没有问题再说:</font><a name="package_xinetd.d"></a><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> vi /etc/xinetd.d/vsftpd</font></font>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -