实战:用Linux构建高效FTP服务器(3)
来源:asp之家 发布时间:2009-08-24 08:54:00
为了测试不同连机用户使用的是不同进程,可以使用ps -ef指令,显示如下所示:
# ps -ef|grep ftp
root 12972 1356 0 13:44 pts/1 00:00:00 ftp 127.0.0.1 2121
nobody 12973 12908 0 13:44 ? 00:00:00 [vsftpd]
ylg 12975 12973 0 13:44 ? 00:00:00 [vsftpd]
user1 13013 13011 0 13:46 ? 00:00:00 [vsftpd]
root 13041 13015 0 13:47 pts/4 00:00:00 grep ftp
到现在为止,一个基本可以满足普通使用需求的FTP服务器就已经架设完成。
在实际应用中,有时为了增加安全性,会将FTP服务器置于防火墙之后。如本文开头所述,被动传输模式适合于带有防火墙的情况。下面就来创建一个防火墙后的FTP服务器,该服务器FTP端口为2121,数据传输端口为2020。
执行以下两行指令,只允许2121和2020端口打开,其余端口关闭:
#iptables -A INPUT -p tcp -m multiport --dport 2121,2020 -j ACCEPT
#iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
修改/etc/vsftpd/vsftpd.conf文件,在文本最后添加以下两行:
listen_port=2121
ftp_data_port=2020
重新启动vsftpd:
#service vsftpd restart
有时希望直接在/etc/hosts.allow中定义允许或拒绝某一源地址,可以通过以下配置来实现。先确保/etc/vsftpd/vsftpd.conf中tcp_wrappers=YES,Red Hat 9.0中,这是默认值。重新启动vsftpd
#service vsftpd restart
假设提供168.192.2.1和210.31.8.1到210.31.8.254的连接,则可对/etc/hosts.allow进行如下设定:
vsftpd : 168.192.2.1 210.31.8. : allow
ALL : ALL : DENY
配置虚拟用户FTP
上面配置的FTP服务器有一个特点,就是FTP服务器的用户本身也是系统用户。这显然是一个安全隐患,因为这些用户不仅能够访问FTP,也能够访问其它的系统资源。如何解决这个问题呢?答案就是创建一个虚拟用户的FTP服务器。虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。
在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。
下面介绍配置过程。
1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令:
#vi account.txt
ylg
1234
zhanghong
4321
gou
5678
2.生成口令库文件,并修改其权限:
#db_load -T -t hash -f 。/account.txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db
3.新建一个虚拟用户的PAM文件。加上如下两行内容:
#vi /etc/pam.d/vsftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account
4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限:
#useradd -d /ftpsite virtual_user
#chmod 700 /ftpsite
经过该步骤的设置,/ftpsite就是virtual_user用户的主目录,该用户也是/ftpsite目录的拥有者。除root用户之外,只有该用户具有对该目录的读、写和执行的权限。


猜你喜欢
- 通过下面 10 步来保护 IIS:1.为IIS 应用程序和数据专门安装一个NTFS 设备。如果有可能,不要允许IUSER(或其它任何匿名用户
- 网站做好了,但由于都是采集的数据,其中难免有些不需要或者过时的内容,但在删除图片是DEDE并不能帮我们删除其中的附带的图片,导致遗留的图片在
- 一、什么是虚拟主机?所谓虚拟主机,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Inte
- 一、安装cmake1、解压cmake压缩包[root@mysql tools]# tar -zvxf cmake-2.8.8.tar.gz[
- 本人目前为公司建立的网站均是使用dedecms为后台基础建立的网站,其有点不必太多赘言,大多站长都了解,本人由于在初次使用dedecms建站
- 1、利用win2000的安全配置工具来配置策略微软提供了一套的基于MMC(管理控制台)安全配置和分析工具,利用他们你可以很方便的配置你的服务
- 随着站点规模的扩大,在线人数的上升,免费空间已经不适用了,就很有必要为自己选择一款收费空间,下面先简单介绍下国外的主机类型,大致分这么几种,
- 新华网北京12月27日电一个名为“IE7攻击代码(Hack.Exploit.Script.JS.Agent.ic)”的恶意代码本周特别值得注
- 做网赚说复杂也复杂,说简单也会简单,但为什么新手做网赚往往感到很无力,找不到任何方向,在万般无奈的情况下找到一个网赚的项目到头来还发现居然是
- 有几个朋友反应,在使用系统的图集功能上传图片时会提示FILEID:X错误,缩略图显示为红色
- **昨天 开始学习PHP的时候,安装了WampServer,然后一切安装正常后发现有个服务一直无法启动,桌面右下角图标一直是黄色的,怎么也绿
- 鉴于脚本程序可能带来的危险,WebMail系统完全有必要禁止html邮件中的脚本程序。禁止脚本程序的基本做法就是过滤掉html源程序中能够使
- 在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志。然而,如果让使用者来记住这些毫无记忆规律的IP
- 1 引言线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统
- MongoDB安装过程以及问题记录一、MongoDB安装下载MongoDB官方地址:https://www.mongodb.com/down
- VPN(Virtual Private Network,虚拟专用网络)是专用网络的延伸,它可以通过共享Internet或公共网络连接模拟点对
- Adsense推介不带中国玩了,这从是点石得到的最新消息,不知道真的还是假的,如果是真的很大站长朋友的收录又要少了,做站真是不容易啊。后面只
- 用wordpress有段时间了,总结了一点小经验,要想网站被多收录的话,确实需要下一番功夫,推广是必不可少的,但是从我们自身网站结构来说,也
- 12月21日消息,据国外媒体报道,微软将推迟发布Visual Studio 2010和.NETFramework4等软件以便有更多的时间解决
- SEO服务中,与客户罪有应得争议的就是具体排名是否可以保证。有时你可能会看到一些SEOer的广告,说可以保证排名,保证排在第一,或者第二。我