一、proftpd简介:

proftpd软件和vsftpd一样是一个开放源代码的ftp服务器软件,但是可配置项比vsftpd要多,是目前比较流行的ftp软件,proftpd的配置和apache的配置相似,因此该软件也十分容易配置和管理。

proftpd的全称是Professional FTP daemon,是针对Wu-FTP的弱项而开发的,软件在经过多年的发展之后完善了很多功能,ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点。

个人觉得该软件比较好用的功能有一下几点:

1)目录访问权限配置灵活,配置简单。

2)能够不依赖系统用户,可以使用独立的虚拟用户系统(使用过Serv-U的朋友应该深有体会,配置非常方便,对原有系统环境影响较小)

3)对中文的支持良好,上篇博客写道vsftpd有个比较严重的bug,对中文中一些字符的支持不是很好(目前只碰到对中文的双引号支持不是很好)。

二、软件下载安装配与配置

1、软件下载

我使用的安装方式为源码安装,从http://www.proftpd.org/网站中能够下载到profptd源码,点击左侧的gz能够下载到最新的proftpd源码。ftp://ftp.proftpd.org/distrib/source/这个是软件源码ftp地址,在这个地址中能够下载到想要的软件的各个版本。

2、软件安装

将软件下载完成后放到linux系统下的某个目录中,使用root账户登录系统,进入的该软件目录下,输入如下命令进行安装:

tar -zxvf proftpd-1.3.6.tar.gz  #将源码压缩包解压到当前目录中
cd proftpd-1.3.6/               #进入到解压目录中
./configure --enable-nls --prefix=/usr/local/proftpd #(其中nls是mod_lang,文档:http://www.proftpd.org/docs/modules/mod_lang.html )
make
make install

上面的源码编译安装过程成功完成后,在/usr/local/proftpd的目录下会生成配置文件目录以及相应服务的二进制可执行文件。

3)软件配置

我倾向于使用虚拟用户的方式,创建独立的用户密码文件,这样相对安全些,下面是创建虚拟用户的命令:

/usr/local/proftpd/bin/ftpasswd --passwd --uid=1001 --gid=101 --home=/home/shareroot --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftpd.passwd --name=proftptest#name是登陆ftp的用户名 file是密码文件位置  home是ftp用户的根目录/usr/local/proftpd/bin/ftpasswd --group --file=/usr/local/proftpd/etc/ftp.group --gid=101 --name=ftpman --member=proftptest
#创建用户组,生成配置文件 member将创建的用户添加到用户组中

在网上找了下没有看到完整的配置文件,下面我贴出我proftpd的完整的配置文件

# 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           "ProFTPD Default Installation"
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            1000# 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      onTimeoutLogin 120
TimeoutNoTransfer    900
AllowStoreRestart       on     #允许断点续上传
AllowRetrieveRestart    on
#允许断点续下载
PassivePorts 50000 65534
#指定数据端口的范围
UseReverseDNS        off
#关闭DNS反向查询,节省连接时间
TransferLog          /var/spool/syslog/proftpd/xferlog.legacy
#数据传输记录
# Bar use of SITE CHMOD by default
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /usr/local/proftpd/etc/ftpd.passwd
AuthGroupFile /usr/local/proftpd/etc/ftpd.group
MaxClients 100
IdentLookups off
UseReverseDNS off
DeleteAbortedStores on
DirFakeGroup on
DirFakeUser on
DirFakeMode 0600
RequireValidShell off
LangOptions PreferServerEncoding    #在编译时加入 --enable-nls才能用
UseEncoding utf8 gbk                #在编译时加入 --enable-nls才能用
<Limit Login>Order deny,allowAllowGroup ftpman
</Limit>#显示~/welcome.msg中的欢迎信息,可以编辑welcome.msg自己制定欢迎信息
#       %T 当前的时间
#       %F 所在硬盘剩下的空间
#       %C 当前所在的目录
#       %R:客户的主机名
#       %U:客户登陆的帐号
#       %M:允许最大连接数
#       %N:当前的连接人数
#       %E:FTP服务器管理员的email
#       %i:本次上传的文件数量
#       %o:本次下载的文件数量 #AllowOverwrite  YES
#允许文件可以重新写 #IdentLookups    off
#查找客户的远程用户名,关掉节省连接时间 #ExtendedLog     /var/spool/syslog/proftpd/access.log WRITE,READ write
#以write的日志格式记录READ,WRITE的日志 #ExtendedLog     /var/spool/syslog/proftpd/auth.log AUTH auth
#以auth的日志格式记录AUTH的日志
<Directory /home/shareroot><Limit WRITE READ>Order deny,allowAllowUser share</Limit>
</Directory>
<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.

按照上面的参数配置完成之后,下面开始启动服务

4)启动服务

cd /usr/local/proftpd/sbin         #进入到服务运行文件目录
./proftpd                          #启动服务ps -ef | grep proftpd              #检查服务进程是否启动

好啦,profptd的源码整体部署就是上面这个流程,下一篇介绍源码安装的软件,将service添加到systemctl管理中(CentOS7.*之后的系统中才有这个命令),并做到开机启动。

Linux学习(六):proftpd搭建,完美解决vsftpd中文引号bug相关推荐

  1. Android完美解决LaTeX中文显示问题

    Android完美解决LaTeX中文显示问题 一.目标 二.解决方案 三.测试数据 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 四.遗留问题 五.Next 六 ...

  2. android展示latex_Android完美解决LaTeX中文显示问题

    Android完美解决LaTeX中文显示问题 一.目标二.解决方案三.测试数据1.2.3.4.5.6.7.8.9.10.11.12.13. 四.遗留问题五.Next六.Finally 在上一篇文章&l ...

  3. 北大青鸟有php,完美解决PHP中文乱码 北大青鸟PHP技术

    北大青鸟武汉宏鹏鲁广校区PHP技术之完美解决PHP中文乱码. 用jsp时中文乱码就是一个很棘手的问题,近要开始写项目了,觉得解决中文乱码是和有必要的. 一.先是PHP网页的编码 1. php文件本身的 ...

  4. 完美解决eclipse中文注释错位、缩进、被放大BUG

    完美解决eclipse中文注释错位.缩进.被放大BUG 1.常规操作 2.另辟蹊径 2.1.基本思路-字体融合法 2.2.操作步骤 2.2.1 软件准备 2.2.2 文件准备 2.2.3详细步骤 3. ...

  5. Linux学习笔记(二) -- Linux学习笔记(二) – 解决VMware主窗口中的虚拟机窗口太小的方法

    1.问题描述 在虚拟机中安装完ubuntu操作系统后,我们会发现ubuntu界面在主窗口中占比很小,如下图所示: 这给操作带来了极大的不便. 2.解决步骤 1.在VMware中启动ubuntu系统: ...

  6. Linux无法全屏问题完美解决

    在虚拟机安装Linux系统后,发现无法全屏,在设置中发现并没有自己电脑相配的分辨率,折腾了很久网上大多数都是安装VMware-tools,发现这个方法并不是很管用 用以下方法完美解决 sudo apt ...

  7. linux下apache+SVN搭建完美版

    一 .先介绍一下Subversion和apache,apr,apr-util的关系 很多朋友初次接触Subversion时不是很理解subversion和apache的关系.         我在这里 ...

  8. linux 不关机添加硬盘,完美解决Ubuntu Linux关机异响[SATA硬盘]

    在Linux中关机或者休眠, 进行到最后切断电源时硬盘发出啾的一声, 就像Windows中突然断电时的硬盘声音 在fedora core和ubuntu里面都存在, 而windows下没问题, 所以基本 ...

  9. Linux学习之服务器搭建——基础网络配置

    这是我一周之内学习和复习的内容,做一个总结. 首先是基础网络的配置(以Centos 6.5 和Windows XP 为操作环境) windows XP 可以看做是一个测试端.这一步骤是以后服务器搭建的 ...

最新文章

  1. redis storm mysql_flume+kafka+storm+redis/mysql启动命令记录
  2. 布里斯托大学计算机科学专业排名,2021年布里斯托大学世界及专业排名 多个领域位居全英前十!...
  3. 怎么黑学校计算机室的电脑,大学计算机室变身黑网吧 校方:有需求
  4. 怎样写出别人无法维护的代码
  5. OJ1180: 成绩统计(结构体专题)(C语言)
  6. Linux终端登录和退出Dockerhub
  7. pe常用软件_装机不求人之打造自己的全功能PE系统维护优盘
  8. 3. 密切与企业的合作,构建“产学合作”教育模式
  9. 抖音视频批量下载,一个软件就够了,手把手教你下载抖音无水印视频。
  10. 【C语言】计算个位十位百位思路
  11. 服务器ahci模式安装系统,u盘装系统硬盘模式怎么设置|u盘装系统BIOS设置ide/ahci方法...
  12. python代替mathematica_Mathematica 比起 Python 如今还有什么优势?
  13. 信贷风控评分卡模型(上)_Give Me Some Credit(技术实现过程)
  14. Unity UI框架的搭建
  15. 百万调音师—Audition 压缩效果器
  16. handle原理解析
  17. 3.7 使用吸管和颜色取样器工具 [Ps教程]
  18. Java:实现将方阵中的元素顺时针旋转90度算法(附完整源码)
  19. 一些我平常用到的软件
  20. [IT 男人帮 4-7] 雷军创业的七字决——“专注、极致、口碑、快”

热门文章

  1. python海龟教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环...
  2. 日期时间在ios上显示错误
  3. css 各种高度和宽度
  4. prism 计算 Spearman相关
  5. 谷歌浏览器开发工具调试样式
  6. 【剑指Offer】整数(一)整数除法 - 两数相除 - JavaScript
  7. SYSCALL_DEFINEx宏源码解析
  8. js学习笔记----JavaScript中DOM扩展的那些事
  9. 跨境运营培训品牌商店设计技巧
  10. 新手不得不知的Amazon三大运营技巧