用Proftpd 建立Ftp server

运维 系统运维
用Proftpd 建立Ftp server:ProFTPD目标是实现一个安全且易于设定的FTP Server,Proftpd不仅针对Wu-Ftp改进了许多问题,而且还有许多新的功能。那么怎样用Proftpd 建立Ftp server呢?本文将一一简述。用Proftpd 建立Ftp server。

  用Proftpd 建立Ftp server:ProFTPD设计目标是实现一个安全且易于设定的FTP Server。目前Unix或类Unix平台上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。虽然wu-ftpd有着***的效能同时也是一套很好的软件,然而它却欠缺了许多Win32平台上FTP Server的一些特色,同时wu-ftpd过去也有不少的安全漏洞陆续被发现。ProFTPD的原创者本身就曾经花非常多的时间寻找wu-ftpd 的漏洞加以改进并且增加许多功能。然而十分不幸的是,他很快地发现显然wu-ftpd需要全部重新的改写才能补足欠缺的设定能力以及缺乏的一些功能。ProFTPD不是从其它FTP Server的既有原始码修改而产生的,相反的,它是完全独立而完整、重新改写的FTP Server。

  1.   tar -jxvf /root/tools/proftpd-1.3.12.tar.bz2  
  2.  
  3.   ./configure --prefix=/opt/proftpd1.3.2/  
  4.  
  5.   make  
  6.  
  7.   make install  
  8.  

  (2)启动proftpd

  如果以standalone模式启动:

  1.   启动:/opt/proftpd1.3.2/sbin/proftpd  
  2.  
  3.   关闭:/opt/proftpd1.3.2/sbin/ftpshut now  
  4.  

  或者用以下方式:

  1.   cp proftpd-1.3.2/contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd  
  2.  
  3.   vi /etc/init.d/proftpd  
  4.  

  修改PATH的值,使其如右: PATH="$PATH:/opt/proftpd1.3.2/sbin"

  1.   chmod +x /etc/init.d/proftpd  
  2.  
  3.   service proftpd start/stop/restart  
  4.  

  如果是以super daemon方式启动:

  vi /etc/xinetd.d/proftpd

  1.   service ftp  
  2.  
  3.   {  
  4.  
  5.   disable = no 
  6.  
  7.   flags = REUSE 
  8.  
  9.   socket_type = stream 
  10.  
  11.   wait = no 
  12.  
  13.   user = root 
  14.  
  15.   server = /opt/proftpd1.3.2/sbin/proftpd  
  16.  
  17.   server_args = -c /opt/proftpd1.3.2/etc/proftpd.conf  
  18.  
  19.   log_on_success += DURATION USERID  
  20.  
  21.   log_on_failure += USERID  
  22.  
  23.   }  
  24.  
  25.   service xinetd restart  
  26.  

#p#

  (3)配置

  添加ftp group 和 ftp user

  1.   groupadd ftp  
  2.  
  3.   useradd -g ftp -s /bin/false ftp  
  4.  

  配置文件/opt/proftpd1.3.2/etc/proftpd.conf

  #基本设置:

  #当使用者登入主机的时候,proftpd 会显示在 Client端显示的信#当使用者登入主机的时候,proftpd 会显示示在 Client端显 示的信息)

  1.   ServerName "My FTP Server"  
  2.  
  3.    
  4.   # 如果以standalone模式启动,则启用***行,这里是以 super daemon 启动的,就启用第二行  
  5.  
  6.   ServerType standalone  
  7.  
  8.   ServerType inetd  
  9.  
  10.   # Port 21 is the standard FTP port.  
  11.  
  12.   Port 21  
  13.  
  14.   #预设的目录与档案的属性  
  15.  
  16.   Umask 022  
  17.  
  18.   #不充许root登入(default value is off)  
  19.  
  20.   RootLogin off  
  21.  
  22.   # 这个设定可以让使用者不需要具有『能够执行的 shell 』!即使使用者无法用ssh,但依然可以使用 ftp !  
  23.  
  24.   RequireValidShell off  
  25.  
  26.   #同一时间允许的连线数目  
  27.  
  28.   MaxInstances 30  
  29.  
  30.   #最多仅允许 100 个 client登入我们主机  
  31.  
  32.   MaxClients 100  
  33.  
  34.   #同一个主机最多可以同时 5 个 FTP 连线  
  35.  
  36.   MaxClientsPerHost 5  
  37.  
  38.   #允许使用者上传续传!预设是 off  
  39.  
  40.   AllowStoreRestart on  
  41.  
  42.   #预设的服务启动者!后面接的使用者与群组,必须在 /etc/passwd 与 /etc/group 裡面存在方可!  
  43.  
  44.   User nobody  
  45.  
  46.   Group nogroup  
  47.  
  48.   #这里设置DefaultRoot,ftpuser group 中 的用户只能访问自已的家目录.  
  49.  
  50.   DefaultRoot ~ ftpusers  
  51.  
  52.   #允许根目录复写  
  53.  
  54.   AllowOverwrite on  
  55.  
  56.   #限制用户使用chmod  
  57.  
  58.   DenyAll  
  59.  
  60.   #以下是ftpusers组的用户的设置,ftpusers组的家目录是/home/ftp,/home/ftp/download只能允许下载,/home/ftp/upload只能允许上传,具体设置如下:  
  61.  
  62.   AllowALL  
  63.  
  64.   DenyALL  
  65.  
  66.   AllowALL  
  67.  
  68.   DenyALL  
  69.  
  70.   #以下是匿名用户设置.匿名用户的根目录是/var/ftp.anonymous 登入后的身份= ftp:ftp 这个用户.  
  71.  
  72.   #/opt/ftp/download 只能允许下载,/var/ftp/upload只能允许上传,具体设置如下:  
  73.  
  74.   User ftp  
  75.  
  76.   Group ftp  
  77.  
  78.   UserAlias anonymous ftp  
  79.  
  80.   MaxClients 10  
  81.  
  82.   DisplayLogin welcome.msg  
  83.  
  84.   DisplayFirstChdir .message  
  85.  
  86.   TransferRate STOR 100 user anonymous.ftp  
  87.  
  88.   TransferRate RETR 50 user anonymous.ftp  
  89.  
  90.   DenyAll  
  91.  
  92.   AllowALL  
  93.  
  94.   DenyALL  
  95.  
  96.   AllowALL  
  97.  
  98.   DenyALL  
  99.  

#p#

  4)配置说明:

  4.1)Limit可以限制的动作

  CMD:Change Working Directory 改变目录

  MKD:MaKe Directory 建立目录的权限

  RNFR: ReName FRom 更改目录名的权限

  DELE:DELEte 删除文件的权限

  RMD:ReMove Directory 删除目录的权限

  RETR:RETRieve 从服务端下载到客户端的权限

  STOR:STORe 从客户端上传到服务端的权限

  READ:可读的权限,不包括列目录的权限,包括RETR, SITE, SIZE, STAT

  WRITE:写文件或者目录的权限,包括APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD

  DIRS:是否允许列目录,包括CDUP, CWD, LIST, MDTM, NLST, PWD, RNFR, XCUP, XCWD,XPWD

  针对上面这个Limit所应用的对象,又包括以下范围

  AllowUser 针对某个用户允许的Limit

  DenyUser 针对某个用户禁止的Limit

  AllowGroup 针对某个用户组允许的Limit

  DenyGroup 针对某个用户组禁止的Limit

  AllowAll 针对所有用户组允许的Limit

  DenyAll 针对所有用户禁止的Limit

  4.2)欢迎词里的变量解释

  %T 目前的时间

  %F 所在硬盘剩下的容量

  %C 目前所在的目录

  %R Client 端的主机名称

  %L Server 端的主机名称

  %U 使用者帐户名称

  %M ***允许连接人数

  %N 目前的服务器连接人数

  %E FTP服务器管理员的 email

  %i 本次上传的文件数量

  %o 本次下载的文件数量

  %t 本次上传+下载的文件数量

  example:(welcome.msg)

  vi /var/ftp/welcome.msg

  欢迎光临!

  我的主机: %L

  目前时间: %T

  ***连线: %M

  目前连线: %N

  您的主机: %R

  您的帐号: %U

  目前目录: %C

  example:(some info)

  vi /var/ftp/upload/.message

  this directory is only for upload!

  you are anonymous!

  4.3)上传100Kbytes/second ,下载速度50Kbytes/second

  1.   TransferRate STOR 100 user anonymous,ftp  
  2.  
  3.   TransferRate RETR 50 user anonymous,ftp  

【编辑推荐】

  1. ProFTPD.conf的详细配置方法
  2. Proftpd配置文件结构分析
  3. ProFTP下的参数说明
  4. Porftpd.conf的配置格式
  5. lampp的ProFTPd下新增FTP用户的方法
  6. Debian下配置ProFTPd服务器
  7. Centos下ProFTPD配置FTP服务器
责任编辑:zhaolei 来源: CSDN
相关推荐

2011-02-25 16:14:09

proftpdftp

2011-02-25 15:55:25

unixProftpd

2011-02-23 09:01:37

2011-02-25 09:14:27

2011-03-08 15:47:57

Proftpdmysqlquota

2011-03-07 17:04:02

ProftpdFTP

2011-03-08 11:02:16

Proftpd

2011-03-07 15:16:40

FileZilla SSSLTLS

2011-03-02 17:56:13

Xinetd启动Proftpd

2011-02-23 10:18:51

CentosProFTPD

2011-03-03 09:40:58

2011-02-23 13:12:52

2011-02-25 15:38:58

2011-02-23 13:12:52

2011-03-02 09:26:26

ubuntuproftpd

2011-03-03 10:00:14

ProFTPD建立MySQL

2011-02-24 13:33:35

ProFTPDFTP

2009-07-04 15:17:37

2011-03-02 15:47:37

PureftpdPureDBLinux

2011-03-01 15:30:52

用MySQLProftpd
点赞
收藏

51CTO技术栈公众号