zoukankan      html  css  js  c++  java
  • CentOS 7下安装配置proftpd搭建ftp服务器

    proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone、xinetd模式运行等。ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,ProFTP配置方便,并有MySQL和Quota模块可供选择,利用它们的完美结合可以实现非系统账号的管理和用户磁盘的限制。<摘抄百度百科>

    本章通过下载源码的方式安装,可以到官网下载最新版本:http://www.proftpd.org/

    1、首先安装lrzsz方便拷贝文件到要搭建服务器的linux路径下

    yum install lrzsz

    2、上传文件解压

    将下载完成的proftpd-1.3.6.tar.gz文件上传到指定路径,使用tar zxvf proftpd-1.3.6.tar.gz解压

    3、由于使用源码安装,所以需要安装gcc编译环境

    yum install gcc gcc-c++ autoconf automake

    3、配置并制定安装和配置文件路径

    ./configure --prefix=/usr/local/proftpd --sysconfdir=/usr/local/proftpd

    4、安装

    make&make install

    5、修改配置文件,限制匿名用户可以上传下载,但是不能删除(本章暂不详细描述权限控制部分内容)

    vi /usr/local/proftpd/proftpd.conf

    # This is a basic ProFTPD configuration file (rename it to 
    # 'proftpd.conf' for actual use.  It establishes a single server
    # and a single anonymous login.  It assumes that you have a user/group
    # "nobody" and "ftp" for normal operation and anon.
    
    ServerName                      "Welcome to FTP Server"
    ServerType                      standalone
    DefaultServer                   on
    
    # Port 21 is the standard FTP port.
    Port                            21
    
    # Don't use IPv6 support by default.
    UseIPv6                         off
    
    # Umask 022 is a good standard umask to prevent new dirs and files
    # from being group and world writable.
    Umask                           022
    
    # To prevent DoS attacks, set the maximum number of child processes
    # to 30.  If you need to allow more than 30 concurrent connections
    # at once, simply increase this value.  Note that this ONLY works
    # in standalone mode, in inetd mode you should use an inetd server
    # that allows you to limit maximum number of processes per service
    # (such as xinetd).
    MaxInstances                    30
    
    # Set the user and group under which the server will run.
    User                            nobody
    Group                           nobody
    
    # To cause every FTP user to be "jailed" (chrooted) into their home
    # directory, uncomment this line.
    #DefaultRoot ~
    
    # Normally, we want files to be overwriteable.
    AllowOverwrite          on
    
    IdentLookups            off
    UseReverseDNS           off
    
    # Bar use of SITE CHMOD by default
    <Limit SITE_CHMOD>
      AllowAll
    </Limit>
    
    # A basic anonymous configuration, no upload directories.  If you do not
    # want anonymous users, simply delete this entire <Anonymous> section.
    <Anonymous /home>
      User                          ftp
      Group                         ftp
    
      # We want clients to be able to login with "anonymous" as well as "ftp"
      UserAlias                     anonymous ftp
    
      # Limit the maximum number of anonymous logins
      MaxClients                    50
    
      # We want 'welcome.msg' displayed at login, and '.message' displayed
      # in each newly chdired directory.
      DisplayLogin                  welcome.msg
      DisplayChdir                  .message
    
      # Limit WRITE everywhere in the anonymous chroot
      <Limit DELE RMD>
        DenyAll
      </Limit>
    </Anonymous>

    6、关闭防火墙

    systemctl stop firewalld.service

    systemctl disable firewalld.service

    7、启动服务器

    /usr/local/proftpd/sbin/proftpd

    查看进程是否已经启动

    [root@localhost ~]# ps -ef |grep proftpd
    nobody    1140     1  0 12:13 ?        00:00:00 proftpd: (accepting connections)
    root      3182  2270  0 12:50 pts/0    00:00:00 grep --color=auto proftpd  

    8、添加到启动项避免每次重启后都需要手动启动

    vi /etc/rc.d/rc.local

    #!/bin/bash
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    #
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    #
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    #
    # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
    # that this script will be executed during boot.
    
    touch /var/lock/subsys/local
    /usr/local/proftpd/sbin/proftpd

    由于在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要加上可执行的权限:

    chmod +x /etc/rc.d/rc.local

  • 相关阅读:
    rustlang入门教程
    中间件日志切割
    Redis非关系型缓存数据库集群部署、参数、命令工具
    SaltStack自动化软件简介及安装
    CentOS根目录下各目录介绍
    Dockerfile书写介绍及构建ssh镜像、tomcat镜像、nginx镜像
    DockerFile执行报错解决
    阿里云CentOS7.2把默认语言修改成中文
    JavaScript 如何判断一个数据的类型
    MongoDB windows 下安装配置
  • 原文地址:https://www.cnblogs.com/loganblogs/p/7614565.html
Copyright © 2011-2022 走看看