搭建FTP

作者: 胸口砕大石 | 来源:发表于2023-04-22 08:57 被阅读0次

    服务端使用ProFTPD

    安装EPEL库

    yum -y install epel-release
    yum -y update
    

    关闭selinux,开放20,21端口

    firewall-cmd --permanent --add-port=20/tcp&&firewall-cmd --reload
    firewall-cmd --permanent --add-port=21/tcp&&firewall-cmd --reload
    

    安装

    yum -y install proftpd
    

    配置/etc/proftpd.conf

    # This is the ProFTPD configuration file
    #
    # See: http://www.proftpd.org/docs/directives/linked/by-name.html
    
    
    ServerName          "Rgsc ProFTPD server"
    #服务启动模式
    ServerType                      standalone                         
    ServerIdent         on "FTP Server ready."
    ServerAdmin         root@localhost
    Port                            21
    # Don't do reverse DNS lookups (hangs on DNS problems)
    UseReverseDNS           off
    #禁止root登录ftp
    RootLogin                       off
    #允许断点继传(上传) 
    AllowRetrieveRestart            on
    #允许断点继传(下载)
    AllowStoreRestart               on
    #字符集
    UseEncoding UTF-8 CP936
    SystemLog                       /opt/ftpLog/SystemLog.log
    # Set the user and group that the server runs as
    User                nobody
    Group               nobody
    
    MaxInstances            20
    
    # Disable sendfile by default since it breaks displaying the download speeds in
    # ftptop and ftpwho
    UseSendfile         off
    
    # Define the log formats
    LogFormat           default "%h %l %u %t \"%r\" %s %b"
    LogFormat           auth    "%v [%P] %h %t \"%r\" %s"
    
    # Global Config - config common to Server Config and all virtual hosts
    # See: http://www.proftpd.org/docs/howto/Vhost.html
    <Global>
      #这里需要指定000,否则新建文件别人无法操作
      Umask             000
      #Umask                022
      AllowOverwrite        yes
      <Limit ALL SITE_CHMOD>
        AllowAll
      </Limit>
    </Global>
    
    <VirtualHost sy.rgsc.com.cn>
      ServerName            "RGSC SOFT"
      DeferWelcome          on
      DisplayLogin                  welcome.msg
      DefaultServer         on
      MaxClients            10
      MaxLoginAttempts      5
      PassivePorts                    50000 51000
      # DeferWelcome prevents proftpd from displaying the servername
      # until a client has authenticated.
    
      TransferLog                     /opt/ftpLog/soft/TransferLog.log
      # Use pam to authenticate (default) and be authoritative
      AuthPAMConfig         proftpd
      AuthOrder         mod_auth_file.c
      #用户登录是否需要shell(对虚拟用户很重要)
      RequireValidShell off
      AuthUserFile /opt/ftpd.passwd
      AuthGroupFile /opt/ftpd.group
      DefaultRoot ~
      AllowOverwrite        yes
    
      #tls
      TLSEngine on
      TLSLog /opt/ftpLog/tls.log
      TLSProtocol SSLv3 TLSv1 TLSv1.1 TLSv1.2
      TLSRequired on
      TLSRSACertificateFile /opt/ca/*******.pem
      TLSRSACertificateKeyFile /opt/ca/*******.key
      #客户端双向验证需要关闭
      TLSVerifyClient off
      TLSRenegotiate none
    
    
      #允许所有人可以查看根目录
      <Directory "~/*">    
        <Limit CWD READ>
        AllowAll
        </Limit>
      </Directory>
      <Directory "~/develop">
        <limit DELE RNFR RNTO RMD>
          DenyAll
          AllowGroup dev
         </Limit>
      </Directory>
      <Directory "~/test">
        <limit DELE RNFR RNTO RMD>
          DenyAll
          AllowGroup dev
          AllowGroup test
         </Limit>
      </Directory>
      <Directory "~/product">
        <limit DELE RNFR RNTO RMD>
          DenyAll
          #AllowUser zhuye
         </Limit>
      </Directory>
    </VirtualHost>
    

    /etc/shell添加nologin

    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    #本行为添加内容
    /sbin/nologin
    

    安装proftpd-utils

    yum install -y  proftpd-utils
    

    ftpsswd简单操作

    #添加用户,用-stdin 方便脚本批量添加
    echo ****你的密码**|ftpasswd  --passwd --file=/opt/ftp/ftpd.passwd --name=rose  --uid=1001  --home=/opt/ftp/soft/test  --shell=/bin/false –stdin
    #添加组
    ftpasswd --group --file=/opt/ftp/ftpd.group --name=soft --gid=1002
    #组添加成员
    ftpasswd --group --file=/opt/ftpd.passwd --name=soft --gid=10 --member=jack --member=rose
    

    相关文章

      网友评论

          本文标题:搭建FTP

          本文链接:https://www.haomeiwen.com/subject/psqukdtx.html