实战:用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用户之外,只有该用户具有对该目录的读、写和执行的权限。
猜你喜欢
- 在博客中加入微博的内容,向访问博客的用户展示微博个人信息、最新发表的微博消息以及最新的若干位听众,并可通过点击查看微博消息,从而 吸引他人收
- 很多发布商可能已经阅读了我们之前发布的有关AdSense 推介计划更新的文章。在发布这一消息以后,我们收到了很多发布商的反馈意见,在慎重考虑
- 现如今无论是在QQ聊天签名还是论坛网游里,随处都可看到火星文的踪迹,可是如果看不懂这些火星文怎么办?“对付&rd
- 概要当用户试图通过 HTTP 或文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,II
- 目前,市场上有多种Internet邮件服务器产品供选择,这些邮件服务器产品价格各异,所提供的功能也有不少差别。对于网络管理员来说,如何根据自
- 一、Windows Server2003的安装1、安装系统最少两需要个分区,分区格式都采用NTFS格式2、在断开网络的情况安装好2003系统
- 方法一 将新模板覆盖templets下的文件最简单的更换模板的方法是直接覆盖templets目录下的所有文件但是这样会导致原先的模板被覆盖。
- 10月16日消息,据国外媒体报道,谷歌Android智能手机操作系统正在以很快的速度开发。与其它的操作系统相比,虽然Android推出的时间
- 包括winform和webform两套系统。其中winform负责收集服务器信息,webform用于远程查看收集的信息(从数据库)。各种状态
- 因川普2009年11月10日开通淘宝旺铺创业扶植版时,发现淘宝网推出的旺铺创业扶植版的问题,在免费的淘宝店铺装修网站:鱼摆摆网店装修网网站发
- 医学影像07年毕业 06年实习期间开始接触网络,06年9月份开始网络创业,放弃医学,走上了这个没有尽头的创业之路!同学们可能在在医院上班的时
- 我是用虚拟机装了Linux,真实系统是Windows XP,在Windows XP下用Serv-u软件架设了FTP服务器,然后我们就可以在虚
- 常说:“看书看皮,看报看题。”虽然此说不全面,但是从一个角度看出了标题的重要性,刚才在百度博客注册了
- Joomla! 是基于php+mysql 模式的快速建站系统,是一款开源的CMS 全站系统。借助joomla 可以迅速搭建起 * 站。当你为
- 内容摘要:本文列出了SQL 注入一些常用语句,站长朋友请注意了,看看您的网站程序是否存在这样的漏洞,一般过滤post或get过滤的
- 美工经常抱怨的话就不多讲了,我认为如果一个美工没有熬到设计总监或者产品经理的可能性,势必要考虑或经历着以下转型:1、美工→编辑(或web销售
- 做站长已经有好几年了,每次都在失望中结束。经过一番冷静思考以后,才知道经营网站不是想象的那么容易,一是需要下功夫,二是需要坚持。下功夫是要懂
- 在虚拟机上新安装了一个根据开源Chromium源码编译好的Chrome OS镜像文件进行试用测试,颇有一些感慨。Chrome OS省去了其他
- 对于高手和老手,我这里就不多说了,这篇文章是针对一些菜鸟来写的,如何购买虚拟主机,购买虚拟主机的注意事项对于一个初来乍到的新人来说还是很有必
- 酝酿测试几个月的Google AdSense今日开放西联汇款 加快汇款速度,最高金额1万美金,不能给公司汇款。详细内容: 选择付款形式当月