Debian 11下Pure-Ftpd配置(Pure ftpd configuration under Debian 11)

        大学时期校园网做过一段时间ftp服务器,当时用过pro-ftpd以及后来改用vs-ftpd,小型服务么一般也没啥问题,要求也不高,有时候真的断了,后续再连便是。最近又在折腾Debian。安装及中文现在都做的蛮好,服务器这块Linux本身就是强大的,这两天配置了下pure-ftpd,总的来说跟其他ftp服务软件大同小异的。现在网上资源很多,不多很多由于版本区别或者发行版区别稍有区别,然后很多时候就是复制黏贴下来的,也缺少实践验证,所以很多情况搜索到了很多篇,但是未必能依葫芦画瓢的成功。我的博客园这几篇都自己实践后记录下,也为以后自己翻看调阅。

  • 第一步安装,Debian安装软件那是一流的,随便啥都是一个命令,自动处理好关联安装好相应库,自动配置好(默认配置)apt-get install pure-ftpd(现在也可以直接 apt install pure-ftpd )
  • 在/etc/pure-ftpd/auth 内,增加一个软连接,描述 pureftpd.pdb 所在的位置 ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb(也可修改pure-ftpd.conf文件指定pdb路径)
  • 新建虚拟用户之前需要创建一个组合用户(属于操作系统上的)。#groupadd ftpgroup                                                                                    //新建系统组#mkdir -p /home/ftpuser                                                                             //新建用户目录#useradd –g ftpgroup –d /dev/null –s /sbin/nologin ftpuser                      //新建用户ftpuser加入ftpgroup中#pure-pw useradd ftpuser001 –u ftpuser –d /home/ftpuser –m      //pure-pw useradd 虚拟用户名 –u 寄生到系统用户名 –d FTP目录 –m(把用户密码加入PDB数据库中,不需要重启FTP)#cd /home/ftpuser                                                                                    //切换到ftp目录中#chmod –R ftpuser:ftpgroup ftpuser001                                                 //把FTP目录的所属用户和组改为虚拟用户所依托的系统用户和组#pure-pw mkdb                                                                                       //创建用户信息数据库文件                                                                                                                                            #pure-pw list   {ftpuser001}                                                                     //列出所有用户或者单个用户详细信息#cat /var/log/pure-ftpd/transfer.log                                                       //查询log日志
  • 详细pure-ftpd.conf配置文件    (装好之后没有改动改文件,但是后续很多需求的时候肯定要用到配置文件改动)                                                                                                                                ChrootEveryone              yes                                              //锁定所有用户到家目录中
    # TrustedGID                    100                                             //信任组ID100,可以不锁定
    MaxClientsNumber            50                                             //最大的客户端数量
    MaxClientsPerIP                8                                                  //同一个IP允许8个链接
    DisplayDotFiles                 no                                                //不显示隐藏文件
    AnonymousOnly               no                                                 //只允许匿名用户
    NoAnonymous                 yes                                                 //不允许匿名用户
    DontResolve                    yes                                                 //禁止反向解析
    MaxIdleTime                   10                                                    //最大空闲10分钟
    # LDAPConfigFile            /etc/pureftpd-ldap.conf                   //LDAP配置文件目录
    # MySQLConfigFile          /etc/pureftpd-mysql.conf               //MySQL配置文件目录
    # PGSQLConfigFile        /etc/pureftpd-pgsql.conf                  //PGSQL配置文件目录
    PureDB                        /usr/local/pureftpd/etc/pureftpd.pdb     //虚拟用户数据库
    # UnixAuthentication            yes                                              //主机认证
    LimitRecursion              2000 8                                          //别表最大显示2000个文件,最深8个目录
    AnonymousCanCreateDirs      no                                   //是否允许匿名用户创建目录
    #MaxLoad                     4                                               //最多可下载的数量
    # PassivePortRange          30000 50000                        //主动连接的端口范围
    ForcePassiveIP                192.168.0.1                        //这个地址总是直到匿名目录
    # AnonymousRatio                1 10                            //匿名用户上传下载速度比率
    # UserRatio                 1 10                                    //用户上传下载速度比率
    # Bind                      127.0.0.1,21                        //绑定IP和端口
    # AnonymousBandwidth            8                       //匿名用户带宽8KB
    # UserBandwidth             8                               //用户带宽8KB
    Umask                       133:022                          //文件和目录的umask
    MinUID                      1000                              //用户ID至少要大于1000才能登陆
    AllowUserFXP                no                              //是否允许用户使用FXP协议登陆
    AllowAnonymousFXP           no                      //是否允许匿名用户使用FXP协议
    ProhibitDotFilesWrite       no                          //是否允许写入点文件
    ProhibitDotFilesRead        no                         //是否允许读取点文件
    AnonymousCantUpload         yes                   //不允许匿名用户上传
    #NoChmod                     yes                        //不允许用户改变权限
    #KeepAllFiles                yes                     //允许用户断点续传
    #Quota                       1000:10                //磁盘配额
    #MaxDiskUsage               99                     //磁盘的最大利用率
    #NoRename                  yes                      //不允许自动重命名
    IPV4Only                 yes                            //只允许使用IPV4协议
  •  后续有额外的需求再更新。                         
————————

During the university period, the campus network worked as an FTP server for a period of time. At that time, it used Pro ftpd and later changed to vs ftpd. Small services are generally no problem, and the requirements are not high. Sometimes it is really broken, and it will be connected later. I’ve been tossing Debian again recently. Installation and Chinese are doing very well now. Linux itself is powerful as a server. Pure ftpd has been configured these two days. Generally speaking, it is similar to other FTP service software. Now there are many online resources, but not many. There are slight differences due to the differences in versions or distribution versions, and then many times they are copied and pasted, and there is a lack of practical verification. Therefore, many articles have been searched in many cases, but they may not be successful. These articles in my blog Garden are recorded after my own practice and will be read by myself in the future.

  • The first step is to install Debian installation software, which is first-class. Everything is a command, which automatically handles the association, installs the corresponding library, and automatically configures (the default configuration) apt get install pure ftpd (now you can also directly apt install pure ftpd)
  • 在/etc/pure-ftpd/auth 内,增加一个软连接,描述 pureftpd.pdb 所在的位置 ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb(也可修改pure-ftpd.conf文件指定pdb路径)
  • 新建虚拟用户之前需要创建一个组合用户(属于操作系统上的)。#groupadd ftpgroup                                                                                    //新建系统组#mkdir -p /home/ftpuser                                                                             //新建用户目录#useradd –g ftpgroup –d /dev/null –s /sbin/nologin ftpuser                      //新建用户ftpuser加入ftpgroup中#pure-pw useradd ftpuser001 –u ftpuser –d /home/ftpuser –m      //pure-pw useradd 虚拟用户名 –u 寄生到系统用户名 –d FTP目录 –m(把用户密码加入PDB数据库中,不需要重启FTP)#cd /home/ftpuser                                                                                    //切换到ftp目录中#chmod –R ftpuser:ftpgroup ftpuser001                                                 //把FTP目录的所属用户和组改为虚拟用户所依托的系统用户和组#pure-pw mkdb                                                                                       //创建用户信息数据库文件                                                                                                                                            #pure-pw list   {ftpuser001}                                                                     //列出所有用户或者单个用户详细信息#cat /var/log/pure-ftpd/transfer.log                                                       //查询log日志
  • 详细pure-ftpd.conf配置文件    (装好之后没有改动改文件,但是后续很多需求的时候肯定要用到配置文件改动)                                                                                                                                ChrootEveryone              yes                                              //锁定所有用户到家目录中
    # TrustedGID                    100                                             //信任组ID100,可以不锁定
    MaxClientsNumber            50                                             //最大的客户端数量
    MaxClientsPerIP                8                                                  //同一个IP允许8个链接
    DisplayDotFiles                 no                                                //不显示隐藏文件
    AnonymousOnly               no                                                 //只允许匿名用户
    NoAnonymous                 yes                                                 //不允许匿名用户
    DontResolve                    yes                                                 //禁止反向解析
    MaxIdleTime                   10                                                    //最大空闲10分钟
    # LDAPConfigFile            /etc/pureftpd-ldap.conf                   //LDAP配置文件目录
    # MySQLConfigFile          /etc/pureftpd-mysql.conf               //MySQL配置文件目录
    # PGSQLConfigFile        /etc/pureftpd-pgsql.conf                  //PGSQL配置文件目录
    PureDB                        /usr/local/pureftpd/etc/pureftpd.pdb     //虚拟用户数据库
    # UnixAuthentication            yes                                              //主机认证
    LimitRecursion              2000 8                                          //别表最大显示2000个文件,最深8个目录
    AnonymousCanCreateDirs      no                                   //是否允许匿名用户创建目录
    #MaxLoad                     4                                               //最多可下载的数量
    # PassivePortRange          30000 50000                        //主动连接的端口范围
    ForcePassiveIP                192.168.0.1                        //这个地址总是直到匿名目录
    # AnonymousRatio                1 10                            //匿名用户上传下载速度比率
    # UserRatio                 1 10                                    //用户上传下载速度比率
    # Bind                      127.0.0.1,21                        //绑定IP和端口
    # AnonymousBandwidth            8                       //匿名用户带宽8KB
    # UserBandwidth             8                               //用户带宽8KB
    Umask                       133:022                          //文件和目录的umask
    MinUID                      1000                              //用户ID至少要大于1000才能登陆
    AllowUserFXP                no                              //是否允许用户使用FXP协议登陆
    AllowAnonymousFXP           no                      //是否允许匿名用户使用FXP协议
    ProhibitDotFilesWrite       no                          //是否允许写入点文件
    ProhibitDotFilesRead        no                         //是否允许读取点文件
    AnonymousCantUpload         yes                   //不允许匿名用户上传
    #NoChmod                     yes                        //不允许用户改变权限
    #KeepAllFiles                yes                     //允许用户断点续传
    #Quota                       1000:10                //磁盘配额
    #MaxDiskUsage               99                     //磁盘的最大利用率
    #NoRename                  yes                      //不允许自动重命名
    IPV4Only                 yes                            //只允许使用IPV4协议
  • There are additional requirements to update later.