LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 925|回复: 3

proftpd使用简介

[复制链接]
发表于 2006-7-17 22:24:19 | 显示全部楼层 |阅读模式
proftpd是一个取代wu-ftp的更安全、配置更简单的ftp服务器软件。下面作一个简单的介绍,大家如果要在局域网内架设一个小型文件服务器,这个最合适不过了。

第一步不用想,肯定是“emerge -DuN proftpd -av"了,emerge的时候最好把IPv6的支持去掉(USE="-ipv6"),避免不必要的麻烦;)

emerge完成之后proftpd还不能用,因为你还没有配置文件。我在网上看的资料里说的配置文件的位置,与gentoo中不一样。gentoo里面就放在/etc/proftpd/proftpd.conf位置,但默认是没有这个文件

的,在同一个目录下有另两个文件:proftpd.conf.distru, proftpd.conf.example,这两个文件拷贝过去就能用,能实现一个最简单的允许anonymous登录的服务器。但对于proftpd来说,这个功能太简单

了,实际上它可以实现各种权限管理并有很多选项,让你的服务器完全满足你的要求。

proftpd只有一个配置文件那就是/etc/proftpd/proftpd.conf。而这个配置文件的格式也很简单,与Apache非常类似。它的配置基本格式是


#全局设置
设置项目1 参数1
设置项目2 参数2

#某个目录的设置
<Directory "路径名">;
...
...
</Directory>;

#关于匿名用户的设置
<Anonymous "匿名登陆的目录">;
...
...
<Limit 限制动作>;
...
...
</Limit>;
</Anonymous>;


这里用得最多的应该是<Limit>了,<Limit>动作用来设置访问权限,大致有如下动作:
        CMD:Change Working Directory 改变目录
        MKD:MaKe Directory 建立目录的权限
        RNFR: ReName FRom 更改目录名的权限
        DELE:DELEte 删除文件的权限
        RMD:ReMove Directory 删除目录的权限
        RETR:RETRieve 从服务端下载到客户端的权限
        STOR:STORe 从客户端上传到服务端的权限
        READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
        WRITE:写文件或者目录的权限,包括MKD和RMD
        DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
        ALL:所有权限
        LOGIN:是否允许登陆的权限
针对这些limit权限,又可以分别应用于以下几类对象:
        AllowUser 针对某个用户允许的Limit
        DenyUser 针对某个用户禁止的Limit
        AllowGroup 针对某个用户组允许的Limit
        DenyGroup 针对某个用户组禁止的Limit
        AllowAll 针对所有用户组允许的Limit
        DenyAll 针对所有用户禁止的Limit

举例来说,如果想限制anonymous的写权限,可以在<Anonymous ~ftp>子段中加入:

<Limit WRITE>
DenyAll
</Limit>

下面讲一个配置实例,这样起一个简单的服务器就没问题了:

<Global>        #这个标记可有可无,后面如果设置多个虚拟站点的话显得清晰
IdentLookups        off  #关掉这个选项可以加快访问速度.
ServerName        "roFTFD Default Installation"        #服务器名
ServerType        standalone        #服务启动的类型,standalone or inetd
DefaultServer        on
RequireValidShell        off        #不知道为什么,只知道如果开匿名的话需要
AuthPAM                off        #PAM是一种验证机制(Pluggable Authentication Modules),具体如何工作我也不清楚
AuthPAMConfig        ftp
UseReverseDNS        off        #同样,关掉这个选项以加快速度.


Port                21        #服务端口,默认21
Umask                022        #默认新创建文件的权限,022防止其他用户写/修改

User                nobody        #服务器以谁的身份运行
Group                nobody        #服务器以哪个组身份运行


<Directory />
AllowOverwrite        off
</Directory>                #这里设置ftp根目录的一些权限,这里是不允许覆盖

#接下来设置anonymous用户了

<Anonymous ~ftp>        #这里表示anonymous的主目录在/home/ftp
User        ftp
Group        ftp                #anonymous实际是以ftp.ftp的身份登录的,anonymous是它的别名。

UserAlias        anonymous ftp

MaxClients                10        #允许的最多anonymous访问数

DisplayLogin                welcome.msg        #如过主目录下有welcome.msg文件,就将它的内容显示为欢迎信息
DisplayFirstChdir        .message        #变更目录时显示的信息

#假设主目录下有一个incoming子目录

<Directory incoming>
<Limit WRITE DELE RMD XRMD RNFR RNTO>
DenyAll
</Limit>
</Directory>                #incoming目录中的内容不能更该/删除/重命名等

<Limit WRITE>
DenyAll
</Limit>                #拒绝所有位置的写权限

<Directory etc>
<Limit DIRS>
DenyAll
</Limit>                #如果有etc目录的话,我一般不喜欢让匿名用户看见

</Anonymous>




以上配置文件完成了一个简单的匿名ftp服务器的配置。
这时候你可以将服务启动起来,测试它一下了!
#/usr/sbin/proftpd
如果要加成服务也非常简单,因为这时已经有个proftpd的脚本在/etc/init.d/proftpd了
#rc-update -a proftpd default

好了大功告成。
当然这个匿名服务器功能还是太简单了,froftpd实际上还有更多强大功能如虚拟主机,配合mysql的验证机制等,等着大家发掘哦!
发表于 2006-7-18 09:29:06 | 显示全部楼层
三大ftpd.proftpd.pure-ftpd.vsftpd各有所长--都很好用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-18 11:45:11 | 显示全部楼层
说实话我也是开始用proftpd趁热打铁写了这东西。能不能说说“三大”各有何所长?
回复 支持 反对

使用道具 举报

发表于 2006-7-18 12:28:38 | 显示全部楼层
装好基本上没有动什么配置文件,基本上能够满足要求了,不过也就最基础的功能了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表