热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统下ProFTPd服务器的安装配置

一.proftpd简介proftpd是一款开放源码的ftp服务器软件,它是原来世界范围使用最广泛的wu-ftpd的改进版,它修正了wu-ftpd的许多缺陷,在许多方面进行了重大的改进,其中一个重要变化就是它学习了Apache的配置方式,使proftpd的配置和管理更加简单易
  一. proftpd 简介
  
  proftpd是一款开放源码的ftp服务器软件,它是原来世界范围使用最广泛的wu-ftpd的改进版,它修正了wu-ftpd的许多缺陷,在许多方面进行了重大的改进,其中一个重要变化就是它学习了Apache 的配置方式,使proftpd配置和管理更加简单易懂。本文将介绍它在Red hat Linux 9中最基本的安装和配置。
  
  二.软件的相关资源
  
  官方网站:http://www.proftpd.org/
  
  源码软件包:proftpd是开源的软件,可以去其官方网站下载。目前最新稳定版本为1.2.10。
  
  帮助文档: 该软件包中包含。
  
  FAQ:该软件包中包含。
  
  配置文件样例:该软件包中包含。
  
  三.软件的安装
  
  1.安装
  
  由其官方网站中下载其源码软件包proftpd-1.2.10. tar.gz。接下来我将对安装过程的一些重要步骤,给出其解释:
  
  [root@localhost root]
  #tar xzvf proftpd-1.2.10. tar.gz
  [root@localhost root]
  #cd bind-9.3.1
  [root@localhost bind-9.3.1]
  #./configure
  [root@localhost bind-9.3.1]
  #make
  [root@localhost bind-9.3.1]
  #make install
  
  
  tar xzvf bind-9.3.1.tar.gz 解压缩软件包。
  
  ./configure 针对机器作安装的检查和设置,大部分的工作是由机器自动完成的,但是用户可以通过一些参数来完成一定的设置,其常用选项有:
  
  ./configure --help 察看参数设置帮助。
  
  --enable-ipv6 支持ipv6。
  
  可以设置的参数很多,可以通过 -help察看需要的,一般情况下,默认设置就可以了。
  
  默认情况下,安装过程应该建立了:
  
  proftpd的deamon为/usr/local/sbin/proftpd
  
  proftpd的配置文件,/usr/local/etc/proftpd.conf。
  
  2.启动:
  
  [root@localhost root]
  # /usr/local/sbin/proftpd -c
  /usr/local/etc/proftpd.conf
  
  
  -c选项用来指定配置文件的位置,不指定的话默认位置是 /usr/local/etc/proftpd.conf 。
  
  正常情况下proftpd应该启动了,ps aux 应该可以查到proftpd的进程,或netstat -an 也可以看到21端口的服务已经起来了。(ftp默认端口)
  
  如果要设置开机自启动ftp server,只需在/etc/rc.d/rc.local中加入一行
  
  /usr/local/sbin/proftpd
  
  #!/bin/sh
  #
  # This script will be executed
  *after* all the other init scripts.
  # You can put your own
  initialization stuff in here if you don't
  # want to do the full Sys V style init stuff.
  touch /var/lock/subsys/local
  /usr/local/sbin/proftpd
  
  
  四.软件的配置
  
  1.初始配置文件
  
  默认配置文件的位置为:
  
  /usr/local/etc/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       "
  ServerType
  standalone
  DefaultServer
  on
  # Port 21 is the standard FTP port.
  Port 21
  
  ServerType 指定FTP Server 的启动类型,一般使用standalone方式比较简单,如果访问量不大,为节省资源考虑用xinetd侦听启动,必须在这里指定。Port 指定FTP的侦听端口,一般使用21端口
  
  
  # 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
  
  
  Umask 指定FTP server 进程的Umask 值,022与Linux系统得默认值一致。
  
  MaxInstances 指定 FTP server 的最大连接数。
  
  # Set the user and group under
  which the server will run.
  User     nobody
  Group     nogroup
  # To cause every FTP user to be
  "jailed" (chrooted) into their home
  # directory, uncomment this line.
  #DefaultRoot ~
  DefaultRoot
  
  
  User 和Group 指定proftpd 进程启动时的有效用户ID,处于安全考虑默认的身份是nobody,有一点要指出的是,一般Red Linux 9.0 中默认是没有nogroup 这个组的,把Group指定为nobody 即可。
  
  DefaultRoot 选项限制Linux 系统用户通过FTP方式登录时将被限制在其home 目录下。
  
  
  # Set the maximum number of seconds
  a data connection is allowed
  # to "stall" before being aborted.
  #TimeoutStalled         300
  
  AllowRetrieveRestart       on
  AllowStoreRestart        on
  
  # Normally, we want files to be overwriteable.
  
  AllowOverwrite        on
  
  
  TimeoutStalled 指定一个连接的超时时间。
  
  AllowRetriveRestart 和AllowStroeRestart 指定允许断点续传。
  
  
  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          10
  # We want 'welcome.msg' displayed
  at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin    welcome.msg
  DisplayFirstChdir  .message
  # Limit WRITE everywhere
  in the anonymous chroot
  
  DenyAll
  
  
  
  这一部分,将在后面详细介绍。
  
  2.配置文件结构分析
  
  #全局设置
  设置项目1 参数1
  设置项目2 参数2
  
  #某个目录的设置
  
  ...
  ...
  
  
  #关于匿名登陆的设置
  
  ...
  ...
  
  ...
  ...
  
  
  
  常用全局设置
  
  DefaultRoot ~ # 限制每个FTP用户在自己的目录下,不可查看上一级目录
  
  AllowRetrieveRestart on #下载时,允许断点续传
  
  AllowStoreRestart on #上传时,允许断点续传
  
  ServerIdent off #屏蔽服务器版本信息
  
  TransferRate STOR|RETR 速度(Kbytes/s) user 使用者 #设定用户传输速率
  
  MaxHostsPerUser 1 #每个帐户最多允许来源ip为1个, 对防止ftp帐号还是比较有用的。
  
  MaxClientsPerUser 1 #每个帐户在每个客户端最多可以同时登陆1次,可以防止多线程软件下载对服务器的破坏
  
  MaxClientsPerHost 1 #同一个客户端只能最多1个帐号可以登陆
  
  WtmpLog on #是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。
  
  TimeoutIdle 600 #客户端idle时间设置,默认就是600秒
  
  DisplayLogin welcome.msg #设置ftp登陆欢迎信息文件
  
  RootLogin on #允许root用户登录,默认是不允许的,安全起见不推荐此选项。
  
  欢迎词设置
  
  关于欢迎文件的设置包含如下参数:
  
  %T 目前的时间
  
  %F 所在硬盘剩下的容量
  
  %C 目前所在的目录
  
  %R Client 端的主机名称
  
  %L Server 端的主机名称
  
  %U 使用者帐户名称
  
  %M 最大允许连接人数
  
  %N 目前的服务器连接人数
  
  %E FTP服务器管理员的 email
  
  %i 本次上传的文件数量
  
  %o 本次下载的文件数量
  
  %t 本次上传+下载的文件数量
  
  知道这些参数,可以写出一个友好的欢迎语文件,例如:
  
  欢迎您%
推荐阅读
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
author-avatar
从妖妖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有