PROFTPD

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PROFTPD相关的知识,希望对你有一定的参考价值。

  最近公司有个客户,对VSFTP的模块集成有所不满。要求更换为PROFTP。因此对该服务器做了简单的了解和部署搭建。坑太多,简单记录下:

  部署:

    获取proftp源码包:ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5b.tar.gz
    获取模块包(客户需要使用MD5模块):http://www.castaglia.org/proftpd/modules/proftpd-mod-md5-0.3.5.tar.gz

  编译安装:

    1、需要解压mod-md5压缩包,并cp mod_md5/mod_md5.c proftpd-1.3.5b/modules/

    2、./configure --with-modules=mod_md5

    3、make  &&  makeinstall

    安装完成,默认源代码安装的配置文件为:/usr/local/etc/proftpd.conf。默认的可执行程序为:/usr/local/sbin/proftpd。

    为了方便使用,将使用/etc/init.d/执行,如下:

    cp proftpd-1.3.5b/contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd

    并检查如下:

    1、/etc/sysconfig/proftpd文件是否存在,如果不存在,与手动创建,并写入内容:

    echo‘PROFTPD_OPTIONS="-DANONYMOUS_FTP"‘ > /etc/sysconfig/proftpd

    2、/etc/init.d/proftpd配置文件第46行与第53行,皆修改为执行文件所在位置(/usr/local/sbin/proftpd)

    至此,编译安装结束,可以执行/etc/init.d/proftpd restart做重启的操作,如果启动之后没有文字响应,执行echo $?,结果非0的话,需要检查/etc/init.d/proftpd文件。如果启动之后启动失败,使用debug(/usr/local/sbin/proftpd -d9n)的方式查找失败原因,对照配置文件逐个修改。简介版的配置文件,如下所示:

    ServerName            "ProFTPD server"
    ServerIdent            on "FTP Server ready."
    ServerAdmin            [email protected]
    DefaultServer            on
    DefaultAddress          X.X.X.X
    DefaultRoot            ~
    UseReverseDNS            off
    User                nobody
    Group                nobody
    MaxInstances            20
    UseSendfile            off
    LogFormat            default    "%h %l %u %t \"%r\" %s %b"
    LogFormat            auth    "%v [%P] %h %t \"%r\" %s"
    <Global>
     Umask                022
     AllowOverwrite        yes

    <Limit ALL SITE_CHMOD>
     AllowAll
     </Limit>
    </Global>

    <Anonymous ~ftp>
     WtmpLog            off
     ExtendedLog            /var/log/proftpd/access.log WRITE,READ default
     ExtendedLog            /var/log/proftpd/auth.log AUTH auth
     </Anonymous>
     <Directory "/home/jing/">
     AllowOverwrite    no
     <Limit ALL>
     AllowAll
     </Limit>
     </Directory>

  异常:

    上一步成功之后,按理说,你可以使用系统用户直接登录了。如果登录有问题,那很不幸,你要各种找错误了。

    1、530 Login incorrect.Login failed.Remote system type is UNIX.Using binary mode to transfer files.

    这个错误有很多问题,常见的:

      1、用户设置为/sbin/nologin。<先设置允许登录,sed‘/USERNAME/s/nologin/bash/g‘ /etc/passwd,(记得加-i)再一步步调试。>

      2、家目录权限不是777。<先设置为777,chmod 777 ~再一步步调试。>

      3、Limit控制权限。<先设置为All,最高权限,再一步步调试。>

      4、auth验证问题。<先注释掉所有的auth,再一步步调试。也可以参照http://www.qianweikang.com/cheng-gong-jie-jue-proftpd-deng-lu-ti-shi-530-login-incorrect.htm>

   2、421 Service not available, remote server has closed connection。Login failed.No control connection for command: Success

    这个错误,我是误打误撞解决的,部分用户出现421,调用DEBUG调试,看到配置文件中调用MD5模块的配置有报错(<IfModule mod_md5.c>),注释后就好了。


实验还在进行中,不断补充,且行且珍惜吧。

本文出自 “11687257” 博客,请务必保留此出处http://11697257.blog.51cto.com/11687257/1787089

以上是关于PROFTPD的主要内容,如果未能解决你的问题,请参考以下文章