用pureftpd建立一个安全可控的ftp站点

简介: 1.规划目的:    建一个有多个虚拟用户的ftp站点,可匿名访问,也可验证访问。匿名用户只可下载不可上传。

1.规划
目的:

    建一个有多个虚拟用户的ftp站点,可匿名访问,也可验证访问。匿名用户只可下载不可上传。验证用户可下载,也可上传。
    虚拟用户使用ftpgroup组的ftpuser帐户访问。
    teczm帐户不属于ftpgroup组。

资源:
/ftpd/tech teczm 755 纯技术资料,按主题分类
/ftpd/product teczm 755 可公开产品技术资料,按所属领域和厂商分类
/ftpd/other teczm 755 不涉及版权的非技术资料

虚拟用户:包括anonymous、tzguest、teczm。
匿名用户:anonymous
家目录:/ftpd/home/anonymous
家目录属主:teczm
家目录权限:755
可访问资源:/ftpd/tech [纯技术资料]
上传:不允许
上传目录:无
下载速率:受限

技术伙伴用户:tzguest
家目录:/ftpd/home/tzguest
家目录属主:teczm
家目录权限:755
可访问资源:/ftpd/tech [纯技术资料]    /ftpd/other [非技术资料]
上传:允许
上传目录:/ftpd/home/tzguest/upload
上传目录属主:teczm
上传目录权限:777      [upload目录下可创建、删除子目录,可创建、覆盖文件]
上传空间:受限
速率:受限

实名伙伴用户:teczm
家目录:/ftpd/home/teczm
家目录属主:teczm
家目录权限:755
可访问资源:/var/ftpd/tech [纯技术资料]    /product [可公开产品技术资料]  /other [非技术资料]
上传:允许
上传目录:/ftpd/home/teczm/upload
上传目录属主:teczm
上传目录权限:777      [upload目录下可创建、删除子目录,可创建、覆盖文件]
上传空间:受限
速率:不限

2.执行
2.1 目录准备

创建资源目录、设置属主、权限

代码:
#mkdir /ftpd/product  
#mkdir /ftpd/tech
#mkdir /ftpd/other
#cd /ftpd
#chown teczm *
#chmod 755 *



创建虚拟用户家目录、设置属主、权限

代码:

#mkdir  /ftpd/home 
#chown teczm home
#chmod 755 home
#cd /ftpd/home
#mkdir  /ftpd/home/anonymous
#mkdir  /ftpd/home/tzguest
#mkdir  /ftpd/home/teczm
#chown teczm *
#chmod 755 *



创建有上传权限虚拟用户的上传目录、设置属主、权限

代码:

#mkdir  /ftpd/home/tzguest/upload
#mkdir  /ftpd/home/teczm/upload

#chown teczm /ftpd/home/tzguest/upload
#chmod 777 /ftpd/home/tzguest/upload

#chown teczm /ftpd/home/teczm/upload
#chmod 777  /ftpd/home/teczm/upload



创建符号链接

代码:
#ln –s /ftpd/tech   /ftpd/home/anonymous/tech
#ln –s /ftpd/tech  /ftpd/home/tzguest/tech
#ln –s /ftpd/tech  /ftpd/home/teczm/tech

#ln –s /ftpd/product  /ftpd/home/teczm/product

#ln –s /var/ftpd/other  /ftpd/home/tzguest/other
#ln –s /var/ftpd/other  /ftpd/home/teczm/other



2.2 安装pureftpd
下载、解压
下载: http://www.pureftpd.org
解压:

代码:

#tar xzvf pure-ftpd-xxx.tar.gz 
#cd pure-ftpd-xxx



编译

代码:

#./configure --without-inetd  --with-paranoidmsg  --with-quotas --with-sysquotas  --with-altlog  --with-extauth  --with-cookie  --with-throttling  --with-ratios  --with-ftpwho  --with-virtualhosts --with-virtualchroot --with-diraliases  --with-peruserlimits  --with-language= simplified-chinese  --with-pam  --with-puredb --with-tls



安装

代码:

#make
#make check
#make install

2.3 配置pureftpd
拷贝配置文件到指定目录

代码:

#chmod 755 configuration-file/pure-config.pl
#cp configuration-file/pure-config.pl /usr/local/sbin/
#cp configuration-file/pure-ftpd.conf /usr/local/etc/



pure-ftpd.conf的设定

代码:
#ee /usr/local/etc/pure-ftpd.conf


引用:

#pure-ftpd.conf
ChrootEveryone              yes
BrokenClientsCompatibility  yes
MaxClientsNumber            50
Daemonize                  yes
MaxClientsPerIP            10
VerboseLog                  no
DisplayDotFiles            no
AnonymousOnly              no
NoAnonymous                yes
SyslogFacility              ftp
FortunesFile              /usr/local/etc/ftpmsg  #欢迎信息文件
DontResolve                yes
MaxIdleTime                5
PureDB                    /etc/pureftpd.pdb
LimitRecursion              2000 8
AnonymousCanCreateDirs      no
MaxLoad                    4
AntiWarez                  yes
UserBandwidth              30
Umask                      133:022 
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP          no
ProhibitDotFilesWrite      yes
ProhibitDotFilesRead        yes
AutoRename                  yes
AnonymousCantUpload        yes
AltLog                    w3c:/var/log/pureftpd.log
NoChmod                    yes
KeepAllFiles                no   
Quota                      2000:1000
NoRename                    no
CustomerProof              yes
PerUserLimits            10:200



虚拟用户公共帐号设置

代码:

#pw groupadd ftpgroup
#pw useradd ftpuser -g ftpgroup -d /dev/null -s /etc



虚拟用户帐号设置

代码:

#/usr/local/bin/pure-pw useradd guest -u ftpuser -d /ftpd/home/anonymous
#/usr/local/bin/pure-pw useradd teczm -u teczm -d /ftpd/home -r 192.168.0.0/24



guest虚拟账号使用真实用户ftpuser,虚拟帐号teczm使用真实账号teczm
虚拟用户teczm只能从192.168.7.0段登录

然后:

代码:
#/usr/local/bin/pure-pw mkdb



2.4 启动pureftpd

代码:
#/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf

目录
相关文章
|
安全 网络协议 Linux
搭建FTP站点(Alibaba Cloud Linux 3)
vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件。本教程介绍如何在Linux实例上安装并配置vsftpd。
搭建FTP站点(Alibaba Cloud Linux 3)
|
存储 关系型数据库 MySQL
手把手教教会你使用Wing FTP Server安装配置并结合内网穿透实现公网访问本地站点
手把手教教会你使用Wing FTP Server安装配置并结合内网穿透实现公网访问本地站点
|
网络协议 Linux 网络安全
手动搭建FTP站点(CentOS 8)
本教程介绍如何在Linux实例上安装并配置vsftpd。
|
弹性计算 安全 网络安全
手动搭建FTP站点(Windows)
本教程介绍如何在Windows实例中搭建FTP站点。
|
弹性计算 网络协议 Linux
手动搭建FTP站点(CentOS 7)
本教程介绍如何在Linux实例上安装并配置vsftpd。
|
弹性计算 安全 网络协议
阿里云服务器部署FTP站点和Web环境教程
对于建站用户来说,在购买阿里云服务器之后,下面要做的就是部署FTP站点和Web环境教程,然后上传并运行我们的网站,这篇文章详细介绍了部署阿里云服务器全过程,对大家的学习或者工作具有一定的参考学习价值,不懂如何在阿里云服务器上部署网站运行环境的用户不妨随着小编来一起学习学习吧。
798 0
阿里云服务器部署FTP站点和Web环境教程
|
弹性计算 安全 网络协议
购买阿里云服务器之后部署FTP站点和Web环境教程
这篇文章详细介绍了部署阿里云服务器全过程,对大家的学习或者工作具有一定的参考学习价值,不懂如何在阿里云服务器上部署网站运行环境的用户不妨随着小编来一起学习学习吧。
547 0
购买阿里云服务器之后部署FTP站点和Web环境教程
|
SQL 安全 数据库
Python开发基础总结(七)数据库+FTP+字符编码+源码安全
Python开发基础总结(七)数据库+FTP+字符编码+源码安全
|
弹性计算 缓存 安全
阿里云服务器Linux实例搭建FTP站点教程!
vsftpd 是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件。本教程以 CentOS 7.2 64位操作系统为例,说明如何在 Linux 实例上安装并配置 vsftpd。
2940 0
|
弹性计算 安全 测试技术
基于ECS使用FileZilla Server建立安全的SSL/TLS FTP
在搭建FTP服务时,由于FTP默认是主动模式,所以当FTP服务器通过互联网访问处在NAT环境下的客户端时,会出现数据通道报错的情况。为了让NAT环境下的用户也可以正常访问FTP服务,所以我们需要将FTP服务器设置成被动模式,让客户端主动发起访问,从而避免NAT的阻挡。
5428 0