基于LINUX系统的proftp的学习笔记(二)

发表于:2007-07-04来源:作者:点击数: 标签:
这里要讲一个非常实用的命令 /usr/local/proftpd/sbin/ftpshut 这个命令还是比较实用的,因为你可能需要不断的调整你的 服务器 ,而这个命令就非常灵活,可以在不停止proftpd进程的前提下,定时停止ftp连接,这里将会详细说它是怎么使用的。 ftpshut [ -l mi

  这里要讲一个非常实用的命令
  
  /usr/local/proftpd/sbin/ftpshut
  这个命令还是比较实用的,因为你可能需要不断的调整你的服务器,而这个命令就非常灵活,可以在不停止proftpd进程的前提下,定时停止ftp连接,这里将会详细说它是怎么使用的。
  
  ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]
  
  -l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受
  -d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止
  time: 在多少时间后,服务器将关闭ftp服务,格式有两种
  +number 经过number分钟后关闭
  MMHH 在今天MM:HH服务器将关闭
  
  注意,这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令。
  
  举例:
  再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示“FTP Server Will shutdown at time”
  
  ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
  
  其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者
  直接
  
  ftpshut -R
  
  好了,开始讲一些proftpd的基本配置吧,其实大家如果熟悉apache的配置的话,你会发现proftpd的设置基本都是类似的,它的配置基本格式是
  
  #全局设置
  设置项目1 参数1
  设置项目2 参数2
  
  #某个目录的设置
  
  ...
  ...
  

  
  #关于匿名用户的设置
  
  ...
  ...
  
  ...
  ...
  

  
  
  我们用到的比较多的可能是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
  关于限制速率的参数为:
  TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
  
  下面我们以例子来解说proftp的配置,这样大家可能更加容易理解。
  
  1。ftp服务器支持断点续传,且最大支持同时10人在线,每个ip只允许一个连接;
  2。允许ftpusers用户组只能访问自己的目录,而不能访问上级或者其他目录;
  3。用户登陆服务器时不显示ftp服务器版本信息,以增加安全性;
  4。建立一个kaoyan的ftp帐户,属于ftpusers组,kaoyan用户只允许下载,没有可写的权限。下载速率限制在50Kbytes/s。
  5。建立一个upload用户,也属于ftpusers组,同kaoyan用户的宿主目录一样,允许upload用户上传文件和创建目录的权限,但不允许下载,并且不允许删除目录和文件的权限,上传的速率控制在100Kbytes/s
  
  先是前期的用户和组添加以及目录的权限设置
  
  group add ftpusers
  useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan
  useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload
  chown -R kaoyan:upload /home/kaoyan
  chmod -R 775 /home/kaoyan
  如果你只想ftpusers组的用户访问,可以设置成770都行。
  设置/usr/local/proftpd/etc/proftpd.conf
  
  注意#表示注释,对设置没影响,可以不写
  
  ServerName "Frank's FTP Server"
  ServerType standalone
  DefaultServer on
  Port 21
  Umask 022
  MaxInstances 30 #最多有30个proftpd的PID
  User nobody
  Group nobody
  TimeoutStalled 10
  MaxClients 10 #最多允许10个用户在线
  MaxClientsPerHost 1 "对不起,一个IP只允许一个连接"
  AllowStoreRestart on
  #允许断点续传(上传),断点续续(下载)是默认支持的,不用设置
  DisplayLogin welcome.msg #欢迎词文件
  ServerIdent off #屏蔽服务器版本信息
  DefaultRoot ~ ftpusers #设置ftpusers组只能访问自己的目录
  
  
  AllowOverwrite on
  

  
   #不允许写
  DenyUser kaoyan
  

   #不允许删除,改名,下载
  DenyUser upload
  

  TransferRate RETR 50 user kaoyan
  TransferRate STOR 100 user upload
  

  
  我这里实现的方式还可以通过
  
  
  
  ...
  
  ...
  
  
  
  <>
  
  ...
  
  ...
  
  

原文转自:http://www.ltesting.net