当前位置: 首页 > news >正文

CentOS 7 部署pure-ftp

文章目录

    • (1)简介
    • (2)准备工作
    • (3)更新系统
    • (4)安装依赖环境
    • (5)下载和解压pure-ftp源码包
    • (6)编译和安装pure-ftp
    • (7)修改配置文件
    • (8)启动pure-ftp
    • (9)使用示例
      • 1.创建系统用户
      • 2.更改所属主和所属组
      • 3.创建FTP用户
      • 4.创建用户信息数据库文件
      • 5.查看用户列表
      • 6.删除账号
      • 7.修改密码

(1)简介

在本篇博客中,我们将介绍如何在CentOS 7上部署pure-ftp,一个轻量级的FTP服务器。提供详细的步骤和示例,帮助你完成pure-ftp的安装、配置和使用。

(2)准备工作

在开始之前,确保你已经具备以下条件:

  • CentOS 7.9系统
  • root权限或具备sudo权限
  • 安装了gcc和build-essential等编译工具

(3)更新系统

在新安装的虚拟机上,我们首先需要更新系统。打开终端,执行以下命令:

yum update

这将更新系统的软件包,确保系统处于最新状态。

(4)安装依赖环境

在安装pure-ftp之前,我们需要安装一些依赖环境。执行以下命令安装gcc和build-essential等编译工具:

yum install gcc build-essential

这些工具将帮助我们编译和安装pure-ftp。

(5)下载和解压pure-ftp源码包

我们可以从pure-ftp的官方网站下载源码包。打开终端,执行以下命令:

cd /usr/local/src
wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.51.tar.gz
tar zxvf pure-ftpd-1.0.51.tar.gz
cd pure-ftpd-1.0.51

这将下载并解压pure-ftp的源码包。

(6)编译和安装pure-ftp

在解压后的源码目录中,执行以下命令编译和安装pure-ftp:

./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tlsmake && make install

这将根据配置选项编译和安装pure-ftp。安装完成后,pure-ftp将被安装到/usr/local/pureftpd目录下。

(7)修改配置文件

打开pure-ftp的配置文件,执行以下命令:

vi /usr/local/pureftpd/etc/pure-ftpd.conf

在配置文件中,可以根据需要修改各种参数。以下是一些常用的配置项:

  • ChrootEveryone:是否将所有用户限制在其主目录中。
  • MaxClientsNumber:同时允许的最大客户端连接数。
  • VerboseLog:是否启用详细日志记录。
  • AnonymousOnly:是否只允许匿名用户登录。
  • MaxIdleTime:客户端的最大空闲时间。
  • PureDB:用户信息数据库文件的路径。
  • AutoRename:FTP服务器上同名文件是否覆盖。

根据需要进行修改后,保存并关闭配置文件。

(8)启动pure-ftp

执行以下命令启动pure-ftp:

/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf

这将启动pure-ftp,并使用指定的配置文件。

(9)使用示例

在安装和配置完成后,我们可以进行一些实验来验证pure-ftp的功能。

1.创建系统用户

首先,我们可以创建一个系统用户,用于FTP登录。执行以下命令:

useradd www

2.更改所属主和所属组

将FTP服务器的根目录所属主和所属组更改为刚创建的用户。执行以下命令:

chown -R www:www /data/www

3.创建FTP用户

创建一个FTP用户,注意这是一个虚拟用户,不是系统用户。执行以下命令:

/usr/local/pureftpd/bin/pure-pw useradd josh -u www -g www -d /data/www

4.创建用户信息数据库文件

执行以下命令创建用户信息数据库文件:

/usr/local/pureftpd/bin/pure-pw mkdb

5.查看用户列表

执行以下命令查看FTP用户列表:

/usr/local/pureftpd/bin/pure-pw list

6.删除账号

如果需要删除FTP账号,执行以下命令:

/usr/local/pureftpd/bin/pure-pw userdel josh

7.修改密码

如果需要修改FTP账号的密码,执行以下命令:

/usr/local/pureftpd/bin/pure-pw passwd josh

其它

  • FTP被广泛用于文件传输,但由于其传输过程不加密,存在安全风险。可以通过配置TLS/SSL加密来增加FTP的安全性。
  • pure-ftp支持多种认证方式,包括纯文本、MySQL、PostgreSQL等。你可以根据需要选择合适的认证方式。
  • pure-ftp还支持配额限制、IP访问控制等高级功能,可以根据实际需求进行配置。

本篇主要学习如何在CentOS 7上部署和配置pure-ftp,搭建一个安全可靠的FTP服务器。也可以根据自己的需求进行配置和扩展,以满足特定的文件传输和共享需求。

相关文章:

CentOS 7 部署pure-ftp

文章目录 (1)简介(2)准备工作(3)更新系统(4)安装依赖环境(5)下载和解压pure-ftp源码包(6)编译和安装pure-ftp(7&#xff0…...

Vue2-动态组件案例

1.component介绍 说明: Type: string | ComponentDefinition | ComponentConstructor Explanation: String: 如果你传递一个字符串给 is,它会被视为组件的名称,用于动态地渲染不同类型的组件。这是一个在运行时动态切换组件类型的常见用例。…...

【源码】车牌检测+QT界面+附带数据库

目录 1、基本介绍2、基本环境3、核心代码3.1、车牌识别3.2、车牌定位3.3、车牌坐标矫正 4、界面展示4.1、主界面4.2、车牌检测4.3、查询功能 5、演示6、链接 1、基本介绍 本项目采用tensorflow,opencv,pyside6和pymql编写,pyside6用来编写UI界…...

实战1-python爬取安全客新闻

一般步骤:确定网站--搭建关系--发送请求--接受响应--筛选数据--保存本地 1.拿到网站首先要查看我们要爬取的目录是否被允许 一般网站都会议/robots.txt目录,告诉你哪些地址可爬,哪些不可爬,以安全客为例子 2. 首先测试在不登录的…...

光栅化渲染:可见性问题和深度缓冲区算法

在前面第二章中,我们了解到,在投影点(屏幕空间中的点)的第三个坐标中,我们存储原始顶点 z 坐标(相机空间中点的 z 坐标): 当一个像素与多个三角形重叠时,查找三角形表面上…...

docker入门小结

docker是什么?它有什么优势? 快速获取开箱即用的程序 docker使得所有的应用传输就像我们日常通过聊天工具文件传输一样,发送方将程序传输到超级码头而接收方也只需通过超级码头进行获取即可,就像一只鲸鱼拖着货物来回运输一样。…...

LLM Agent发展演进历史(观看metagpt视频笔记)

LLM相关的6篇重要的论文,其中4篇来自谷歌,2篇来自openai。技术路径演进大致是:SSL (Self-Supervised Learning) -> SFT (Supervised FineTune) IT (Instruction Tuning) -> RLHF。 word embedding的问题:新词如何处理&…...

Linux(操作系统)面经——part2

1、请你说说进程和线程的区别 1.进程是操作系统资源分配和调度的最小单位,实现操作系统内部的并发;线程是进程的子任务,cpu可以识别、执行的最小单位,实现程序内部的并发。 2.一个进程最少有一个线程或有多个,一个线程…...

Flink系列之:WITH clause

Flink系列之&#xff1a;WITH clause 适用流、批提供了一种编写辅助语句以在较大查询中使用的方法。这些语句通常称为公共表表达式 (CTE)&#xff0c;可以被视为定义仅针对一个查询而存在的临时视图。 WITH 语句的语法为&#xff1a; WITH <with_item_definition> [ , …...

JMeter直连数据库

JMeter直连数据库 使用场景操作步骤 使用场景 用作请求的参数化 登录时需要的用户名&#xff0c;密码可以从数据库中查询获取 用作结果的断言 添加购物车下订单&#xff0c;检查接口返回的订单号&#xff0c;是否与数据库中生成的订单号一致 清理垃圾数据 添加商品后&#xff…...

Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装

一、MySQL数据库管理系统安装部署【简单】 简介 MySQL数据库管理系统&#xff08;后续简称MySQL&#xff09;&#xff0c;是一款知名的数据库系统&#xff0c;其特点是&#xff1a;轻量、简单、功能丰富。 MySQL数据库可谓是软件行业的明星产品&#xff0c;无论是后端开发、…...

STL中set和multiset容器的用法(轻松易懂~)

目录 1. 基本概念 2. 构造和赋值 3. 大小和交换 4. 插入 和 删除 5. 统计 和 查找 6. set容器的排序 1. 基本概念 set和multiset属于关联式容器&#xff0c;底层结构式二叉树&#xff0c;所有元素都会在插入时自动排序。 如果你对容器的概念&#xff0c;或是二叉树不太了…...

Codeforces Round 915 (Div. 2)

Constructive Problems&#xff08;Problem - A - Codeforces&#xff09; 题目大意&#xff1a;现在有一片城市被摧毁了&#xff0c;需要进行重建&#xff0c;当一个城市水平相邻和竖直相邻的位置都至少有一个城市的时候&#xff0c;该城市可以被重建。所有城市排成n行m列的矩…...

C语言经典错误总结(三)

一.指针与数组理解 我们都知道定义一个数组然后对其进行各种想要的操作&#xff0c;但是你真的能够区分那些是对数组的操作&#xff0c;那些是通过指针实现的吗&#xff1f; 例如;arr[1]10;这个是纯粹对数组操作实现的吗&#xff1f; 答案肯定不是&#xff0c;实际上我们定义…...

Ubuntu系统入门指南:基础操作和使用

Ubuntu系统的基础操作和使用 一、引言二、安装Ubuntu系统三、Ubuntu系统的基础操作3.1、界面介绍3.2、应用程序的安装和卸载3.3、文件管理3.4、系统设置 四、Ubuntu系统的日常使用4.1、使用软件中心4.2、浏览器的使用和网络连接设置4.3、邮件客户端的配置和使用4.4、文件备份和…...

MyBatis原理解读

我们项目中多用MyBatis进行数据库的读写,开源的MyBatis-Plus框架对其进行了增强,使用上更加简单,我们之前的很多项目也是直接用的MyBatis-Plus。 数据库操作的时候,简单的单表读写,我们可以直接在方法里链式组装SQL,复杂的SQL或涉及多表联合join的,需要在xml手写SQL语句…...

Linux---文本搜索命令

1. grep命令的使用 命令说明grep文本搜索 grep命令效果图: 2. grep命令选项的使用 命令选项说明-i忽略大小写-n显示匹配行号-v显示不包含匹配文本的所有行 -i命令选项效果图: -n命令选项效果图: -v命令选项效果图: 3. grep命令结合正则表达式的使用 正则表达式说明^以指…...

Unity中Shader语义的理解

前言 以下内容主要是个人理解&#xff0c;如有错误&#xff0c;欢迎严厉批评指正。 一、语义的形式在Shader中是必要的吗&#xff1f; 不是必要的。 使用HLSL和CG语言来编写Shader需要语义&#xff0c;使用GLSL编写Shader不需要。 二、语义的意义&#xff1f; 语义是什么&…...

Flink系列之:Top-N

Flink系列之&#xff1a;Top-N 一、TOP-N二、无排名输出优化 一、TOP-N 适用于流、批Top-N 查询可以根据指定列排序后获得前 N 个最小或最大值。最小值和最大值集都被认为是Top-N查询。在需要从批表或流表中仅显示 N 个底部或 N 个顶部记录时&#xff0c;Top-N 查询是非常有用…...

CSS的三大特性(层叠性、继承性、优先级---------很重要)

CSS 有三个非常重要的三个特性&#xff1a;层叠性、继承性、优先级。 层叠性 场景&#xff1a;相同选择器给设置相同的样式&#xff0c;此时一个样式就会覆盖&#xff08;层叠&#xff09;另一个冲突的样式。层叠性主要解决样式冲突 的问题 原则&#xff1a;  样式冲突&am…...

飞天使-docker知识点10-docker总结

文章目录 docker 知识点汇总docker chatgpt解释学习路线cmd和 ENTRYPOINT 的区别harbor安装漏洞扫描 docker 知识点汇总 docker 基础用法 docker 镜像基础用法 docker 容器网络 docker 存储卷 dockerfile docker仓库 harbor docker-compose docker chatgpt解释学习路线 学习…...

旅游管理虚拟情景实训教学系统演示

首先&#xff0c;虚拟情景实训教学系统为旅游管理专业的学生提供了一个全新的实践平台。在传统的旅游管理教学中&#xff0c;学生往往只能通过理论学习来了解相关知识&#xff0c;而无法亲身实践。虚拟情景实训教学系统则可以通过模拟真实的旅游场景&#xff0c;让学生能够亲身…...

Linux Shell——输入输出命令详解

Shell 输入输出 1. read2. echo3. printf 总结 最近学习了shell相关语法&#xff0c;顺便总结一下关于shell的输入输出命令read和echo、printf。 1. read shell的输入命令&#xff0c;可以从标准控制台中读取一行&#xff0c;并把输入行中的每个字段赋值给指定的变量 可以看到…...

MFC 第一个窗口程序

目录 一、新建Windows桌面应用程序&#xff0c;空项目 二、修改项目属性 三、编写程序 一、新建Windows桌面应用程序&#xff0c;空项目 创建MFCBase.cpp&#xff0c;整个项目很干净 二、修改项目属性 使用多字节编码 使用MFC库 三、编写程序 需要包含 afxwin.h 文件&…...

SQL语句的执行顺序怎么理解?

SQL语句的执行顺序怎么理解&#xff1f; 我们常常会被SQL其书写顺序和执行顺序之间的差异所迷惑。理解这两者的区别&#xff0c;对于编写高效、可靠的SQL代码至关重要。今天&#xff0c;让我们用一些生动的例子和场景来深入探讨SQL的执行顺序。 一、书写顺序 VS 执行顺序 SQ…...

js解析.shp文件

效果图 原理与源码 本文采用的是shapefile.js工具 这里是他的npm地址 https://www.npmjs.com/package/shapefile 这是他的unpkg地址&#xff0c;可以点开查看源码 https://unpkg.com/shapefile0.6.6/dist/shapefile.js 这个最关键的核心问题是如何用这个工具&#xff0c;网上…...

关于“Python”的核心知识点整理大全25

目录 10.3.4 else 代码块、 10.3.5 处理 FileNotFoundError 异常 alice.py 在这个示例中&#xff0c;try代码块引发FileNotFoundError异常&#xff0c;因此Python找出与该错误匹配的 except代码块&#xff0c;并运行其中的代码。最终的结果是显示一条友好的错误消息&#x…...

代码随想录刷题题Day15

刷题的第十五天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day15 任务 ● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历…...

软件设计师——信息安全(一)

&#x1f4d1;前言 本文主要是【信息安全】——软件设计师——信息安全的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304…...

git必须掌握:git远程变动怎么解决

如何已经指定了选择分支 那下面的分支名称可以省略 如果远程分支存在变动&#xff0c;通常 git 推送的流程如下&#xff1a; 首先&#xff0c;使用 git fetch 命令从远程仓库获取最新的分支信息和变动。 git fetch然后&#xff0c;可以使用 git merge 或者 git rebase 命令进…...

拉新推广怎么快速拉人/seo课程多少钱

<!--小练习&#xff0c;练习使用循环实现一个九九乘法表 第一步&#xff0c;最低要求&#xff1a;在Console中按行输出 n * m t 然后&#xff0c;尝试在网页中&#xff0c;使用table来实现一个九九乘法表 --> <!DOCTYPE html> <html><head><meta c…...

姜堰哪里有网站建设的/企业邮箱怎么注册

本文将会按照以下四个部分来讲述如何从业务数据中分析数据,建立模型,希望对大家有所帮助!数据从哪来如何分析数据机器学习算法简介预测效果评估Part1: 数据从哪来你眼中的大数据分析和实际的大数据分析实际上是非常不一样的你眼中的大数据分析和实际的大数据分析一般来说,实际业…...

wordpress 在线聊天主题/网站转让出售

遇到了一个问题&#xff0c;需要将DataGridView的一行拖到另一个DataGridView中。搜索了一下&#xff0c;找到了风卷残云的文章C#如何实现DataGridView到DataGridView的拖拽。写的很详细。 由于当时手头的程序比较麻烦&#xff0c;Datagridview有好几个&#xff0c;遇到了一点问…...

网站没有设置关键词/google推广技巧

在模拟和数字PCB设计中&#xff0c;旁路或去耦电容(0.1uF)应尽量靠近器件放置。供电电源去耦电容(10uF)应放置在电路板的电源线入口处。所有情况下&#xff0c;这些电容的引脚都应较短。 在模拟布线设计中&#xff0c;旁路电容通常用于旁路电源上的高频信号&#xff0c;如果不加…...

成都医院手机网站建设/兰州seo优化公司

无意间发现之前搭建MySQL的时候&#xff0c;有将操作过程记录下来&#xff0c;涉及主机系统配置修改&#xff0c;MySQL用户和目录创建&#xff0c;初始化等操作。未免日后遗忘&#xff0c;特保存在这里。有些步骤可能会有错&#xff0c;需要甄别。注&#xff1a;mysql-5.7.91、…...

昆山高端网站建设开发/如何快速收录一个网站的信息

&#xff08;一&#xff09;概念 dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关&#xff0c;一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个&#xff0c;不依赖像素。 px: pixels(像素). 不同设备显示效果相同&#xff0c;一般…...