当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > LINUX学习笔记--PROFTPD服务器设置篇

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 LINUX学习笔记--PROFTPD服务器设置篇


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 49 ::
收藏到网摘: n/a


前言:

半个月前开始学习REDHATLINUX7.0。作为一个Linux新手,不可避免的遇上了一些问题,通过翻阅书籍资料,查看BBS,自己的摸索实践,也解决了一些问题。想到自己的经验教训可供他人借鉴,于是大胆写出来,一来可以当作学习笔记保存,二来希望对刚刚接触Linux的朋友有所帮助。由于本人能力所限,笔记中有所疏漏不足也在所难免,还请各位高手海涵。

一、FTP简介

在网络应用中,最广泛的当属WWW和FTP这两种。FTP就是FileTransportProtocol文件传输协议的缩写,FTP服务器能够在网络上提供文件传输服务。FTP服务器根据服务对象的不同可分为匿名服务器(AnonymousFtpServer)和系统FTP服务器。前者是任何人都可以使用,后者就只能是在FTP服务器上有合法账号的人才能使用。

二、ProFTPD简介

目前在UNIX和LINUX下常用的免费FTP服务器软件主要是Wu-FTP和ProFTP这两种。Wu-FTP广泛应用在众多的Unix和Linux系统中,是RedHatLinux默认的FTP服务器软件,但是被发现安全漏洞也相当多。ProFTP正是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,如设置简单,能以Stand-alone模式运行等等。ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,TurboLinux就是一个例子。

三、ProFTP的设置

设置目标:把IP为10.0.8.39的RedHatLinux配置为FTP服务器,并允许以anonymous匿名访问FTP服务器,且只允许同一网段(10.0.8.*)的电脑对FTP的“incoming”目录有“Write”权限。

ProFTP的最新版本可以从www.proftpd.org上下载。这里我们以稳定的1.2.1版本的rpm安装包为例子(源代码编译也很简单)加以解说。

第一步:配置基本的匿名服务器

下载1.2.1的rpm后,在Gnome窗口下右键单击文件,单击“Showinfo”,查看rpm包的一些信息,这里我们要注意的是一些文件的默认安装路径,如/usr/local/etc/proftpd.conf(ProFTPD的配置文件),/usr/sbin/proftpd(以stand-alone模式运行Proftpd的命令),/usr/doc/proftpd-1.2.1(Proftpd的文档及配置实例文件所在目录),然后双击rpm包安装软件。

如果你像我一样,安装RedHatLinux7.0时选择了FTP服务,那你先得把安装的Wu-FTP软件删除。输入“rpm-eanonftp”和“rpm-ewu-ftpd”删除已有的FTP服务。

ProFTP安装结束后,编辑/usr/local/etc/proftpd.conf,找到“Groupnobody”,改为“Groupnobody”,因为RedHatLinux7.0中没有“nobody”这个组。到此为止,一个提供匿名服务的FTP服务器已经可以运行了。输入“proftpd”运行FTP服务,然后“ftp10.0.8.39”以“anonymous”登录,看能否正常登录。一般来说,都能够登录进去的。

注意:直接运行“Proftpd”将使FTP服务以stand-alone模式启动,该模式相对与dameon进程模式更具安全性,推荐使用。不过你可以把“Proftpd”加入到/etc/rc.d/rc.local里,这样电脑启动完毕,Proftpd也就启动了。

第二步:配置incoming子目录的权限

打开proftpd.conf,在和段之间添加如下设置:

 Orderallow,deny
 Allowfrom10.0.8.
 Denyfromall

表示在incoming这个子目录下,从10.0.8这个网段登录的客户端有写入“WRITE”权限,其它人对该目录的写如权限都是被禁止的。如果要对所有的用户开放写入权限,只要把和之间的内容换成“Allowall“。

四、FTP服务器相关命令

1、ftpshut:关闭FTP服务,并在/etc下生成文件shutmsg。要重新开放FTP服务,把/etc/shutmsg删除。
2、ftpcout:FTP服务器在线人数信息显示。
3、ftpwho:FTP服务器在线人员名单。

附录:Proftpd.conf全文及解释

#ThisisabasicProFTPDconfigurationfile(renameitto
#'proftpd.conf'foractualuse.Itestablishesasingleserver
#andasingleanonymouslogin.Itassumesthatyouhaveauser/group
#"nobody"and"ftp"fornormaloperationandanon.

ServerName"MYREDHATLINUXFTP"#设定FTP服务器的名称

ServerTypestandalone#设置FTP以Standalone模式运行,而不是以dameon模式

DefaultServeron#默认FTP服务器工作

#Port21isthestandardFTPport.

Port21#FTP服务默认占用的端口

#Umask022isagoodstandardumasktopreventnewdirsandfiles

#frombeinggroupandworldwritable.
Umask022#默认

RequireValidShelloff#保证匿名用户正常登录,不要更改

ServerIdentoff#不显示ftp服务器版本信息,以增强安全性

#TopreventDoSattacks,setthemaximumnumberofchildprocesses
#to30.Ifyouneedtoallowmorethan30concurrentconnections
#atonce,simplyincreasethisvalue.NotethatthisONLYworks
#instandalonemode,ininetdmodeyoushoulduseaninetdserver
#thatallowsyoutolimitmaximumnumberofprocessesperservice
#(suchasxinetd)
MaxInstances30

#Settheuserandgroupthattheservernormallyrunsat.

Usernobody#设置FTP服务以nobody运行

Groupnobody#注意:原来是“Groupnobody”,一定要改为“Groupnobody”

#Normally,wewantfilestobeoverwriteable.

 AllowOverwriteon

#Abasicanonymousconfiguration,nouploaddirectories.下面一段就是匿名服务的设置。

Userftp#匿名登录使用ftp用户

Groupftp#匿名登录使用ftp组

#Wewantclientstobeabletologinwith"anonymous"aswellas"ftp"

UserAliasanonymousguest#给ftp用户anonymous的别名,使得anonymous登录就是ftp用户登录。

#Limitthemaximumnumberofanonymouslogins

MaxClients10#最多10个匿名用户同时在线

#Wewant'welcome.msg'displayedatlogin,and'.message'displayed

#ineachnewlychdireddirectory.

DisplayLoginwelcome.msg#登录FTP显示的欢迎信息。放在FTP的根目录下。

DisplayFirstChdir.message

#LimitWRITEeverywhereintheanonymouschroot

#说明看正文。

Orderallow,deny
Allowfrom10.0.8.
Denyfromall