Linux编译安装PureFTPD

Pure-FTPD是一款开源、安全的FTP服务器程序,整体配置简单、运行效率高、几乎支持所有操作系统。今天给大家分享Linux编译安装PureFTPD,轻松部署企业中常见的FTP服务器。

实验环境

操作系统:CentOS 7.7

Pure-FTPD:1.0.49

主机地址:192.168.168.21

安装篇

第一步 安装依赖包

  1. [root@wanghualang ]# yum -y install gcc pam-devel openssl-devel  

第二步 下载、解压源码包

  1. [root@wanghualang ]# cd /usr/local/src  
  2. [root@wanghualang src]# wget --no-check-certificate https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.49.tar.gz  
  3. [root@wanghualang src]# tar xzf pure-ftpd-1.0.49.tar.gz  

第三步 新建用户组、用户

  1. [root@wanghualang ~]# groupadd pureftpd  
  2. [root@wanghualang ~]# useradd pureftpd -M -g pureftpd -s /sbin/nologin  

第四步 编译安装Pure-FTPD

  1. [root@wanghualang ]# cd /usr/local/src/pure-ftpd-1.0.49  
  2. [root@wanghualang pure-ftpd-1.0.49]# ./configure --prefix=/usr/local/pureftpd \
  3. --with-tls \
  4. --with-pam \
  5. --with-ratios \
  6. --with-cookie \
  7. --with-quotas \
  8. --with-puredb \
  9. --with-throttling \
  10. --with-everything \
  11. --with-peruserlimits \
  12. --with-language=simplified-chinese
  13. [root@wanghualang pure-ftpd-1.0.49]# make
  14. [root@wanghualang pure-ftpd-1.0.49]# make install

第五步 生成证书文件

  1. [root@wanghualang ]# mkdir /usr/local/pureftpd/ssl  
  2. [root@wanghualang ]# openssl req -x509 -nodes -days 7200 -newkey rsa:2048 -keyout /usr/local/pureftpd/ssl/pure-ftpd.pem -out /usr/local/pureftpd/ssl/pure-ftpd.pem  
  3. [root@wanghualang ]# chmod 600 /usr/local/pureftpd/ssl/pure-ftpd.pem  

第六步 配置Pure-FTPD

  1. [root@wanghualang ]# mv /usr/local/pureftpd/etc/pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf.bak  
  2. [root@wanghualang ]# vim /usr/local/pureftpd/etc/pure-ftpd.conf  
  3.   
  4. #自定义用户根目录  
  5. ChrootEveryone yes  
  6.   
  7. #使用加密传输  
  8. TLS 2  
  9.   
  10. #加密证书  
  11. CertFile /usr/local/pureftpd/ssl/pure-ftpd.pem  
  12.   
  13. #兼容其他客户端  
  14. BrokenClientsCompatibility no  
  15.   
  16. #最大用户连接数  
  17. MaxClientsNumber 50  
  18.   
  19. #后台运行程序  
  20. Daemonize yes  
  21.   
  22. #每个IP最大连接数  
  23. MaxClientsPerIP 8  
  24.   
  25. #记录日志  
  26. VerboseLog yes  
  27.   
  28. #显示隐藏文件  
  29. DisplayDotFiles yes  
  30.   
  31. #仅允许匿名用户访问  
  32. AnonymousOnly no  
  33.   
  34. #不允许匿名用户访问  
  35. NoAnonymous yes  
  36.   
  37. #定义日志类型  
  38. SyslogFacility ftp  
  39.   
  40. #不解析DNS  
  41. DontResolve yes  
  42.   
  43. #最大空闲时间  
  44. MaxIdleTime 15  
  45.   
  46. #浏览限制(文件10000,目录8)  
  47. #LimitRecursion 10000 8  
  48.   
  49. #匿名用户不允许创建目录  
  50. AnonymousCanCreateDirs no  
  51.   
  52. #系统负载大于4后,匿名用户禁止下载  
  53. MaxLoad 4  
  54.   
  55. #禁止下载未经本地管理员验证的文件  
  56. AntiWarez yes  
  57.   
  58. #文件掩码  
  59. Umask 133:022  
  60.   
  61. #验证最小登录用户ID  
  62. MinUID 500  
  63.   
  64. #允许已通过身份验证使用FXP传输  
  65. AllowUserFXP yes  
  66.   
  67. #允许匿名用户使用FXP传输  
  68. AllowAnonymousFXP no  
  69.   
  70. #用户不能修改点文件  
  71. ProhibitDotFilesWrite no  
  72.   
  73. #用户不能读取点文件  
  74. ProhibitDotFilesRead no  
  75.   
  76. #重命名已存在的文件  
  77. AutoRename no  
  78.   
  79. #禁止匿名用户上传新文件  
  80. AnonymousCantUpload yes  
  81.   
  82. #仅允许来自以下IP地址的非匿名用户连接  
  83. #TrustedIP 192.168.1.1  
  84.   
  85. #分区使用率超过90%后,禁用上传  
  86. MaxDiskUsage 90  
  87.   
  88. #防止文件权限修改导致文件锁定  
  89. CustomerProof yes  
  90.   
  91. #开启并发限制(一个认证用户最大三个活动进程,同时最多只能有20个匿名用户进程)  
  92. PerUserLimits 3:20  
  93.   
  94. #仅允许IPv4连接  
  95. IPV4Only yes  
  96.   
  97. #仅允许IPv6连接  
  98. #IPV6Only yes  
  99.   
  100. #用户信息数据库  
  101. PureDB /usr/local/pureftpd/etc/pureftpd.pdb  

第七步 配置启动服务脚本、开机启动

  1. [root@wanghualang ]# vim /etc/init.d/pure-ftpd  
  2.   
  3. #!/bin/bash  
  4. #chkconfig: 2345 85 15  
  5.   
  6. PURE_FTPD="/usr/local/pureftpd/sbin/pure-ftpd"  
  7. PURE_CONF="/usr/local/pureftpd/etc/pure-ftpd.conf"  
  8. PURE_PID="/var/run/pure-ftpd.pid"  
  9. PROG="Pure-FTPd"  
  10. RETVAL=0  
  11.   
  12. start() {  
  13.     echo -n $"Starting $PROG... "  
  14.     $PURE_FTPD $PURE_CONF  
  15.     if [ "$?" = 0 ] ; then  
  16.         echo " done"  
  17.     else  
  18.         echo " failed"  
  19.     fi  
  20. }  
  21.   
  22. stop() {  
  23.     echo -n $"Stopping $PROG...  "  
  24.     if [ ! -e $PURE_PID ]; then  
  25.         echo -n $"$PROG is not running."  
  26.         exit 1  
  27.     fi  
  28.     kill `cat $PURE_PID`  
  29.     if [ "$?" = 0 ] ; then  
  30.         echo " done"  
  31.     else  
  32.         echo " failed"  
  33.     fi  
  34. }  
  35.   
  36. restart(){  
  37.     echo $"Restarting $PROG..."  
  38.     $0 stop  
  39.     sleep 2  
  40.     $0 start  
  41. }  
  42.   
  43. status(){  
  44.     if [ -e $PURE_PID ]; then  
  45.         echo $"$PROG is running."  
  46.     else  
  47.         echo $"$PROG is not running."  
  48.     fi  
  49. }  
  50.   
  51. case "$1" in  
  52.     start)  
  53.         start  
  54.         ;;  
  55.     stop)  
  56.         stop  
  57.         ;;  
  58.     restart)  
  59.         restart  
  60.         ;;  
  61.     status)  
  62.         status  
  63.         ;;  
  64.   *)  
  65.         echo $"Usage: $0 {start|stop|restart}"  
  66. esac  

  1. [root@wanghualang ~]# chmod +x /etc/init.d/pure-ftpd        
  2. [root@wanghualang ~]# chkconfig --add pure-ftpd        
  3. [root@wanghualang ~]# chkconfig pure-ftpd on  

第八步 配置环境变量

  1. [root@wanghualang ~]# echo "export PATH="$PATH:/usr/local/pureftpd/bin::/usr/local/pureftpd/sbin">> /etc/profile      
  2. [root@wanghualang ~]# source /etc/profile  

第九步 创建数据目录

  1. [root@wanghualang ~]# mkdir /data  
  2. [root@wanghualang ~]# chown -R pureftpd:pureftpd /data  

第十步 创建虚拟用户(虚拟用户:wanghualang)

  1. [root@wanghualang ~]# pure-pw useradd wanghualang -u pureftpd -d /data  
  2. Password: 123456  
  3. Enter it again:123456  

扩展阅读展开

添加虚拟用户:pure-pw useradd user

删除虚拟用户:pure-pw userdel user

修改用户密码:pure-pw passwd user

查看用户信息:pure-pw show user

查看用户列表:pure-pw list

第十一步 生成数据库文件

  1. [root@wanghualang ~]# pure-pw mkdb  

第十二步 启动Pure-FTPD

  1. [root@wanghualang ~]# service pure-ftpd start  

第十三步 登陆测试

WinSCP:https://www.wanghualang.com/winscp.html

FileZilla:https://www.wanghualang.com/filezilla.html

使用WinSCP、FileZilla等客户端软件登陆,协议选择FTP,加密选择TLS/SSL显示加密。

匿名

发表评论

匿名网友 填写信息