linux-FTP服务配置与应用

ops/2025/1/22 5:52:07/

        也许你对FTP不陌生,但是你是否了解FTP到底是个什么玩意? FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。FTP用的比NFS更多,所以请你一定要熟练配置它。

         其实在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftp, 但笔者介绍的并不是它,如果你有兴趣可以和笔者交流,笔者本章使用pure-ftpd搭建ftp服务器,因为这个软件比vsftp配置起来更加灵活和安全

1.安装pure-ftpd
pure-ftpd的官网是http://www.pureftpd.org/project/pure-ftpd 
wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/obsolete/pure-ftpd-1.0.43.tar.gz
2.解压pure-ftpd

3.安装pure-ftpd

编译的命令为:

./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls

如果报错,就使用命令安装gcc

yum -y install gcc gcc-c++ kernel-devel

报错这个就安装openssl

yum install -y openssl-devel

编译成功的显示如下

使用make和make install进行编译

使用命令查看上一条命令的执行结果是否有问题,显示0就说明没问题

4.ftp的配置

修改配置文件

我们要先创建一个目录/usr/local/pureftpd/etc/其中的sbin是编译时生成的

配置文件,把配置文件和主要执行文件拷到对应的文件夹下面
cd /usr/local/src/pure-ftpd-1.0.43 //切换到源码目录
cd configuration-files //切换到这个目录
chmod 755 pure-config.pl //让用户有完全权限(因为默认没有执行权限)
cp pure-config-pl /usr/local/pureftpd/bin //把执行文件复制到bin目录下
cp pure-ftpd.conf /usr/local/pureftpd/etc //复制ftp配置文件到etc中
cd … //切换到/pure-ftpd-1.0.43目录中
cp pureftpd-ldap.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中
cp pureftpd-mysql.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中
cp pureftpd-pgsql.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中

标准是全部都拷贝进我们创建的目录中,但是我们这里只是演示,只拷贝配置文件和执行ftp的文件

编辑pure-ftpd.conf文件,因为参数很多,很乱,我直接删除没用的注释,然后如下配置即可,也可以直接复制我的,然后进行修改,其实就是英文,会英文看懂意思,修改就行

[root@localhost etc]# cat pure-ftpd.confChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
PureDB                        /usr/local/pureftpd/etc/pureftpd.pdb
LimitRecursion              3136 8
AnonymousCanCreateDirs      no
MaxLoad                     4
llowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
PIDFile                     /usr/local/pureftpd/var/run/pure-ftpd.pid
AntiWarez                   yes
Umask                       133:022
MinUID                      100
MaxDiskUsage               99
CustomerProof              yes[root@localhost etc]#

然后开启一下,显示running而且没报错,说明启动成功

5.创建账号

其中,-u将虚拟用户ftp_user1与系统用户www关联在一起,也就是说使用ftp_user1账号登陆ftp后,会以www的身份来读取文件或下载文件。-d 后边的目录为ftp_user1账户的家目录,这样可以使ftp_user1只能访问其家目录/data/www/. 到这里还未完成,还有最关键的一步,就是创建用户信息数据库文件:

pure-pw还可以列出当前的ftp账号,当然也可以删除某个账号, 我们再创建一个账号:

列出当前账号

删除账号命令

6.测试

下载lftp工具

只用ls命令查看目录


http://www.ppmy.cn/ops/152114.html

相关文章

特殊类设计

[本节目标] 掌握常见特殊类的设计方式 1.请设计一个类,不能被拷贝 拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 将拷贝构…

直驱式风电储能制氢仿真模型matlab/simulink

接着还是以直驱式风电为DG中的研究对象,上篇博客考虑的风电并网惯性的问题,这边博客主要讨论功率消纳的问题。 考虑到风速是随机变化的,导致风电输出功率的波动性和间歇性问题突出;随着其应用规模的不断扩大以及风电在电网中渗透率…

将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(1.标准版)

问题 项目里使用了 AzureBlob 存储了用户上传的各种资源文件,近期 AzureBlob 的流量费用增长很快,想通过分析Blob的日志,获取一些可用的信息,所以有了这个需求:将存储账户的日志(读写,审计&…

Excel 技巧15 - 在Excel中抠图头像,换背景色(★★)

本文讲了如何在Excel中抠图头像,换背景色。 1,如何在Excel中抠图头像,换背景色 大家都知道在PS中可以很容易抠图头像,换背景色,其实Excel中也可以抠简单的图,换背景色。 ※所用头像图片为百度搜索&#x…

【一个按钮一个LED】用STM32F030单片机实现苹果充电器的定时装置

文章目录 前言一、要实现的功能1、循环定时2、倒计时3、指示灯提示4、使用场景二、实现方法1、使用方法2、电路设计三、程序代码和成品1.定时中断子程序2.键值处理3.主函数总结前言 笔者前几年买苹果手机、IPAD配的适配器是A1443型号,这种5V1A,USB-A口、小功率的适配器,苹果…

【深度学习】Pytorch:在 ResNet 中加入注意力机制

在这篇教程中,我们将介绍如何在 ResNet 网络中加入注意力机制模块。我们将通过对标准 ResNet50 进行改进,向网络中添加两个自定义的注意力模块,并展示如何实现这一过程。 为什么要加入注意力机制 注意力机制可以帮助神经网络专注于图像中重要…

PyBroker:利用 Python 和机器学习助力算法交易

PyBroker:利用 Python 和机器学习助力算法交易 你是否希望借助 Python 和机器学习的力量来优化你的交易策略?那么你需要了解一下 PyBroker!这个 Python 框架专为开发算法交易策略而设计,尤其关注使用机器学习的策略。借助 PyBrok…

RPA编程实践:Electron简介

文章目录 前言使用Electron构建桌面应用程序什么是Electron?为什么选择Electron?如何使用Electron实现上述想法?1. 创建基本的Electron应用2. 配置BrowserWindow3. 定制化你的应用4. 打包与分发 前言 Electron,用官网的话说&…