Chinaunix首页 | 论坛 | 博客
  • 博客访问: 296566
  • 博文数量: 56
  • 博客积分: 3056
  • 博客等级: 中校
  • 技术积分: 662
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 12:37
个人简介

一不小心出了国

文章分类

全部博文(56)

文章存档

2015年(1)

2011年(1)

2010年(1)

2009年(5)

2008年(14)

2007年(34)

我的朋友

分类:

2007-05-23 13:12:26

proftp--完整配置

shell>tar -zxvf proftpd-1.2.10.tar.gz
shell>./configure --prefix=/usr/local/proftp
shell>make
shell>make install
如果想让系统启动时自动启动proftpd,具体配置如下:
shell>cd proftpd-1.2.10
shell>cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
shell>chkconfig --add proftpd
shell>chmod 755 proftpd
shell>chkconfig --level 3 proftpd on
这样还不能启动proftp,因为系统还找不到proftpd的启动脚本
shell>ln -s /usr/local/proftp/sbin/proftpd /usr/local/sbin/proftpd
shell>service proftpd start
如果还不能启动,可能是因为系统找不到日志目录
shell>mkdir -p /var/log/proftpd
这样就OK了。
下来详细讲解proftpd.conf的配置说明:
ServerName    "FTP server" 
ServerType     standalone           #运行方式 还可以用 inetd xinetd
DefaultServer  on
ServerIdent    off                  #屏蔽服务器版本信息
Port           21                   #FTP端口
Umask          022                  #掩码 为了便于管理 用 002
PassivePorts   20000 30000          #被动模式端口段
RootLogin      on                   #允许root用户登录
IdentLookups off                    #加快连接速度,
UseReverseDNS off                   #加快连接速度
RequireValidShell off               #匿名的一般需要加上这个
MaxLoginAttempts 1                  #匿名的话1就可以了,最大密码验证次数
WtmpLog NONE                        #不记log到wtmp
AllowForeignAddress on              #要允许 FXP 写成 on
CommandBufferSize 128               #最大命令长度
DirFakeUser On FTP                  #不显示给用户真实的用户、组
DirFakeGroup On FTP
DeferWelcome on                     #显示欢迎信息
User nobody                         #proftpd 以哪个用户、组的身份运行
Group nobody
MaxInstances 250                    #最大连接数
TimeoutLogin 30                     #身份验证超时
TimeoutIdle 120                     #发呆超时
TimeoutNoTransfer 300               #无数据传输超时
TimeoutStalled 300                  #指定一个连接的超时时间
#log一些自定义格式,根据需要调整或者用默认
LogFormat myxfer "%h %u %t \"%r\" %s %b"
LogFormat default "%h %a %u %t \"%r\" %s %b $$ \'%F\'"
LogFormat auth "%h %a %t \"%r\" %s"
LogFormat write "%h %a %t \"%r\" %s %b"
MaxClients 50                       #人多时的提示信息
MaxClientsPerHost 2                 #一个IP的连接数
TransferLog NONE                    #log
ExtendedLog /var/proftpd/upload.log write myxfer #log
ExtendedLog /var/proftpd/download.log read myxfer #log
TransferRate STOR RETR 速度(Kbytes/s) user 使用者 #设定用户传输速率
MaxHostsPerUser 1                   #每个帐户最多允许来源ip为1个
MaxClientsPerUser 1                 #每个帐户在每个客户端最多可以同时登陆1次
 
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等权限,还是比较实用的 
注:在测试是否可以下载时,不能用长度为0的空文件去测试,要用一个有内容的文件(文件大小不能为0k)。
针对上面这个Limit所应用的对象,又包括以下范围
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit

#############################################################################

PathAllowFilter "([0-9]+_[0-9]+_?(s|b)?\\.(jpg|jp2|gif|png)$|[0-9]+$)"
  TransferRate STOR 100 group fpsgroup
  
    AllowGroup fpsgroup
    DenyAll
  

    
      AllowGroup fpsgroup
    

      
        AllowUser fpsfms
        DenyAll
      

############################################################################

PathAllowFilter "([0-9]+_[0-9]+_?(s)?\\.(jpg|flv)$|[0-9]+$)"
  TransferRate STOR 1000 group fvsgroup
  
    AllowGroup fvsgroup
    DenyAll
  

   
     AllowGroup fvsgroup
   

    
      AllowUser fvsfms
      DenyAll
    


阅读(2046) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~