首页 运维 正文
安装Proftpd的完整过程

 2022-10-23    425  

  安装配置一个proftpd的实例的过程,首先说明一下本次安装的目的,接下来分析如何安装、操作Proftpd

  目的:

安装Proftpd的完整过程

  安装配置一个proftpd,达到以下要求

  1、 不允许匿名访问。

  2、开放一个帐号,只有在upload目录有上传权限,可以续传,不能改名和删除。

  操作:

  切换到root帐户

  [code:1:de92f96787] su root //输入root的密码。

  [/code:1:de92f96787]

  一、下载proftpd

  这里我们下载了1.2.9版本

  [code:1:de92f96787] wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz

  [/code:1:de92f96787]

  二、安装proftpd

  切换到下载目录,假设为/tmp/proftpd,然后

  [code:1:de92f96787] tar zxvf proftpd-1.2.9.tar.gz //解压

  cd proftpd-1.2.9

  ./configure –prefix=/var/proftpd –sysconfdir=/etc //设置安装目录/var/proftpd,配置文件目录/etc

  make 
  •   makeinstall
  •   [/code:1:de92f96787]

      三、 新建ftp专用帐号

      就是上面目的中提到的那个专用帐号,这里以skate/skate(u/p)为例。

      [code:1:de92f96787]groupaddskate 
  •   useraddskate-gskate-d/var/ftp-s/sbin/nologin//设置/var/ftp目录为ftp的目录
  •   passwdskate//设置skate用户的密码
  •   mkdir/var/ftp/upload
  •   chownskate.skate/var/ftp/upload//设置upload目录skate用户可写
  •   [/code:1:de92f96787]
  •   四、 设置proftpd

      proftpd的配置文件就一个,就是/etc/proftpd.conf

      [code:1:de92f96787]vi/etc/proftpd.conf//打开proftpd.conf 
  •   [/code:1:de92f96787]
  •   [code:1:de92f96787]
  •   ####具体配置如下######

      ServerName"Testftpserver..." 
  •   ServerTypestandalone
  •   DefaultServeron
  •   #端口
  •   Port21
  •   Umask022
  •   #***线程数
  •   MaxInstances30
  •   Userskate
  •   Groupskate
  •   #DNS反查
  •   UseReverseDNSoff
  •   IdentLookupsoff
  •   #***尝试连接次数
  •   MaxLoginAttempts3
  •   #每用户线程
  •   MaxClientsPerHost2
  •   #***用户数
  •   MaxClients20
  •   DirFakeUserOnskate
  •   DirFakeGroupOnskate
  •   DeferWelcomeOn
  •   #日志文件位置
  •   SystemLog/var/log/proftpd.log
  •   ServerIdentoff
  •   #限制skate组的skate用户登录时不能切换到其他目录(只能呆在他的home目录)
  •   DefaultRoot~skate,skate
  •   #设置只允许192.168.0的用户登录
  •   #Orderallow,deny
  •   #Allowfrom192.168.0.
  •   #Denyfromall
  •   #设置只允许skate用户登录,否则系统用户也可以登录ftp
  •   #Orderallow,deny
  •   #DenyUser!skate
  •   #
  •   #开起全盘的写权限 
  •   AllowOverwriteon
  •   AllowStoreRestarton
  •   #允许FXP
  •   #AllowForeignAddresson 
  •   AllowAll  
  •   #设置skate用户在upload的限制
  •   #DELE删除权限
  •   #RNFRRNTO重命名权限
  •   #RMDXRMD移动目录权限  
  •   DenyUserskate
  •  #####结束######

      [/code:1:de92f96787]

      编辑完以后按Esc,然后输入:x保存。

    #p#

      五、 启动服务

      编辑一个启动脚本(这个是从网上copy的,不是我写的,感谢那个写这个脚本的人,很好用,thx)

      [code:1:de92f96787] vi /etc/rc.d/init.d/proftpd[/code:1:de92f96787]

      [code:1:de92f96787]

      #####脚本内容开始########

      #!/bin/sh 
  •   #
  •   #StartupscriptforProFTPD
  •   #
  •   #chkconfig:3458515
  •   #description:ProFTPDisanenhancedFTPserverwith\
  •   #afocustowardsimplicity,security,andeaseofconfiguration.\
  •   #ItfeaturesaveryApache-likeconfigurationsyntax,\
  •   #andahighlycustomizableserverinfrastructure,\
  •   #includingsupportformultiple'virtual'FTPservers,\
  •   #anonymousFTP,andpermission-baseddirectoryvisibility.
  •   #processname:proftpd
  •   #config:/etc/proftpd.conf
  •   #
  •   #By:OsmanElliyasa
  •   #$Id:proftpd.init.d,v1.72002/12/0721:50:27jwmExp$
  •   #Sourcefunctionlibrary.
  •   ./etc/rc.d/init.d/functions
  •   if[-f/etc/sysconfig/proftpd];then
  •   ./etc/sysconfig/proftpd
  •   fi
  •   #下面这行设置环境变量,注意设置好你的proftpd的安装目录
  •   PATH="$PATH:/usr/local/sbin:/var/proftpd/bin:/var/proftpd/sbin"
  •   #Seehowwewerecalled.
  •   case"$1"in
  •   start)
  •   echo-n"Startingproftpd:"
  •   daemonproftpd$OPTIONS
  •   echo
  •   touch/var/lock/subsys/proftpd
  •   ;;
  •   stop)
  •   echo-n"Shuttingdownproftpd:"
  •   killprocproftpd
  •   echo
  •   rm-f/var/lock/subsys/proftpd
  •   ;;
  •   status)
  •   statusproftpd
  •   ;;
  •   restart)
  •   $0stop
  •   $0start
  •   ;;
  •   reread)
  •   echo-n"Re-readingproftpdconfig:"
  •   killprocproftpd-HUP
  •   echo
  •   ;;
  •   suspend)
  •   hashftpshut>/dev/null2>&1
  •   if[$?=0];then
  •   if[$#-gt1];then
  •   shift
  •   echo-n"Suspendingwith'$*'"
  •   ftpshut$*
  •   else
  •   echo-n"SuspendingNOW"
  •   ftpshutnow"Maintananceinprogress"
  •   fi
  •   else
  •   echo-n"Nowaytosuspend"
  •   fi
  •   echo
  •   ;;
  •   resume)
  •   if[-f/etc/shutmsg];then
  •   echo-n"Allowingsessionsagain"
  •   rm-f/etc/shutmsg
  •   else
  •   echo-n"Wasnotsuspended"
  •   fi
  •   echo
  •   ;;
  •   *)
  •   echo-n"Usage:$0{start|stop|restart|status|reread|resume"
  •   hashftpshut
  •   if[$?=1];then
  •   echo'}'
  •   else
  •   echo'|suspend}'
  •   echo'suspendacceptsadditionalargumentswhicharepassedtoftpshut(8)'
  •   fi
  •   exit1
  •   esac
  •   if[$#-gt1];then
  •   shift
  •   $0$*
  •   fi
  •   exit0
  •   #######脚本结束#########

      [/code:1:de92f96787] 
  •   按Esc,输入:x保存。

      然后添加到系统服务并启动

      [code:1:de92f96787] 
  •   chkconfig--addprofptd
  •   serviceproftpdstart[/code:1:de92f96787]
  •   以后可以用service proftpd restart来重起proftpd。

      六、总结

      ***,有一个用来限制登陆的特殊命令,就是LOGIN。在 中用这个,可以禁止或者允许连接进来。但是,如果不在Server config,

      或者中使用的话,他将失去效用,或者说被忽略掉(比如在中使用就是无效的)。

      proftpd感觉还是比vsftp功能配置上好用一点,主要掌握好 段基本上应用来说就没有问题了。这就是安装Proftpd的完整过程。

    原文链接:https://77isp.com/post/8619.html

    =========================================

    https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。