热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

ProFTPd服务器安装配置讲解

1、系统要求LINUX或UNIX。2、虚拟用户,不能是系统用户。3、可以限制上传,下载速度。4、可以限制迅雷多线程下载。5、可以限制用户目录大小,以及上传文件大小等。)下面开始安装配置proftpd#wgetftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2

1、系统要求LINUX或UNIX。

2、虚拟用户,不能是系统用户。

3、可以限制上传,下载速度。

4、可以限制迅雷多线程下载。

5、可以限制用户目录大小,以及上传文件大小等。)

下面开始安装配置proftpd

# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2.tar.gz

# tar zxvf proftpd-1.3.2

# cd proftpd-1.3.2

# ./configure ?prefix=/usr/local/proftpd ?with-modules=mod_quotatab:mod_quotatab_file

# make

# make install

# cp contrib/ftpasswd /usr/local/proftpd/bin/

# cp contrib/ftpquota /usr/local/proftpd/bin/

# vi /usr/local/proftpd/etc/proftpd.conf

ServerName           “mz16.cn Ftp System”

ServerType            standalone

DefaultServer               on

Port               21

# Don’t use IPv6 support by default.

UseIPv6               off

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

#限制连接数
MaxClients 10 “最大允许10个用户同时访问”

MaxHostsPerUser 1 #每个帐户最多允许来源ip为1个, 对防止ftp帐号还是比较有用的。

MaxClientsPerUser 1 #每个帐户在每个客户端最多可以同时登陆1次,可以防止多线程软件下载对服务器的破坏。(用迅雷下载,线程只能限定为1个。)

MaxClientsPerHost 1 #同一个客户端只能最多1个帐号可以登陆

# 不显示服务器相关信息, 如proftpd版本
ServerIdent          off
# 禁用反向域名解析
UseReverseDNS     off

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        #设置文件可以被覆盖

AllowForeignAddress     on      # 支持FXP

PassivePorts   49152 65534       # 支持被动模式

AllowRetrieveRestart on           # 允许下载续传,默认即开启

AllowStoreRestart on              # 允许上载续传

RequireValidShell off   # 不要求有合法shell,直接效果是允许nologin用户和虚拟用户登录

AuthOrder mod_auth_file.c mod_auth_unix.c

AuthUserFile /usr/local/proftpd/etc/passwd

TransferRate STOR 150 user tom    # 限制tom用户上传的速率限制在150Kbytes/s

TransferRate RETR 100 user tom    # 限制tom用户下载的速率限制在100Kbytes/s

# Using a file-based limit table

QuotaLimitTable file:/usr/local/proftpd/etc/ftpquota.limittab

# Using a file-based tally table

QuotaTallyTable file:/usr/local/proftpd/etc/ftpquota.tallytab

QuotaDirectoryTally on

QuotaDisplayUnits Mb        # 显示以MB为单位

QuotaEngine on

QuotaLog /usr/local/proftpd/etc/Quota.log

QuotaShowQuotas on

QuotaOptions ScanOnLogin    

# Bar use of SITE CHMOD by default

AllowAll

AllowUser tom

DenyALL

# A basic anonymous configuration, no upload directories. If you do not

# want anonymous users, simply delete this entire section.

#

# 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

# DisplayChdir            .message

# Limit WRITE everywhere in the anonymous chroot

#

#    DenyAll

#

#

# 创建虚拟用户

# /usr/local/proftpd/bin/ftpasswd ?passwd ?name=tom ?uid=99 ?gid=99 ?home=/opt/tom/ ?shell=/sbin/nologin ?file=/usr/local/proftpd/etc/passwd

Password:

Re-type password:

之后会自动生成/usr/local/proftpd/etc/passwd

# chmod -R 777 /opt/tom

要注意,因为虚拟用户并不在本地系统用户中存在,所以要设置虚拟用户可以访问的所有目录都允许其它用户写,这样才能保证虚拟用户正常增删文件。

# cd /usr/local/proftpd/bin/

# ftpquota -create -type=tally -table-path=/usr/local/proftpd/etc/ftpquota.tallytab

# ftpquota -create -type=limit -table-path=/usr/local/proftpd/etc/ftpquota.limittab

# ftpquota ?type=limit ?table-path=/usr/local/proftpd/etc/ftpquota.limittab ?add-record ?quota-type=user ?name=tom ?units=Mb ?bytes-upload=50 ?bytes-xfer=1

# (上面意思是:限定tom用户空间大小为50M,上传文件大小为1M)

ftpquota 具体用法参照 ftpquota ?help即可。

这样都设置完了以后
启动proftpd
再ftp上去的时候
用命令site quota就可以看当前用户的quota信息

如图所示:

或者

常用全局设置:

  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用户登录,默认是不允许的,安全起见不推荐此选项。

Iptables防火墙设置:

/etc/init.d/iptables stop

iptables -P INPUT DROP

# 打开主动模式21端口

iptables -A INPUT -p tcp ?dport 21 -j ACCEPT

# 打开被动模式49152~65534之间的端口

iptables -A INPUT -p tcp ?dport 49152:65534 -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state ?state ESTABLISHED -j ACCEPT


推荐阅读
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 新冠肺炎疫情期间,各大银行积极利用手机银行平台,满足客户在金融与生活多方面的需求。线上服务不仅激活了防疫相关的民生场景,还推动了银行通过互联网思维进行获客、引流与经营。本文探讨了银行在找房、买菜、打卡、教育等领域的创新举措。 ... [详细]
  • 邮件(带附件,模拟文件上传,跨服务器)发送核心代码1.测试邮件发送附件接口***测试邮件发送附件*@parammultipartFile*@return*@RequestMappi ... [详细]
author-avatar
xz7777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有