linux-FTP服务配置与应用

        也许你对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.rhkb.cn/news/5538.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第 14 天(树2)| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

一、#226.翻转二叉树 题目:https://leetcode.cn/problems/invert-binary-tree/ 视频:https://www.bilibili.com/video/BV1sP4y1f7q7 讲解:https://programmercarl.com/0226.%E7%BF%BB%E8%BD%AC%E4%BA%8C%E5%8F%89%E6%A0%91.html 注意这里交换…

基于微信小程序的科创微应用平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【MySQL】数据库基础知识

欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】数据库基础知识 发布时间:2025.1.21 隶属专栏:MySQL 目录 什么是数据库为什么要有数据库数据库的概念 主流数据库mysql的安装mysql登录使用一下mysql显示数据库内容创建一个数据库创…

STM32学习9---EXIT外部中断(理论)

本文参考江科大和其他博主,侵删! 中断系统是管理和执行中断的逻辑结构 ,外部中断是产生中断的外设之一。 一、STM32中断 1、中断基本介绍 68个可屏蔽中断通道(中断源),包含EXTI外部、TIM定时器、ADC模数…

步入响应式编程篇(二)之Reactor API

步入响应式编程篇(二)之Reactor API 前言回顾响应式编程Reactor API的使用Stream引入依赖Reactor API的使用流源头的创建 reactor api的背压模式发布者与订阅者使用的线程查看弹珠图查看形成新流的日志 前言 对于响应式编程的基于概念,以及J…

66,【6】buuctf web [HarekazeCTF2019]Avatar Uploader 1

进入靶场 习惯性输入admin 还想用桌面上的123.png 发现不行 看看给的源码 <?php // 关闭错误报告&#xff0c;可能会隐藏一些错误信息&#xff0c;在开发阶段可考虑开启&#xff08;例如 error_reporting(E_ALL)&#xff09; error_reporting(0); // 引入配置文件&#x…

FortiGate配置远程拨号VPN

我们前面介绍了FortiGate如何配置IPsec VPN的两种类型&#xff1a;站到站&#xff08;卷土重来&#xff01;这次终于把FortiGate的IPsec VPN配置成功了&#xff01;&#xff09;和Hub-and-Spoke&#xff08;漂亮&#xff01;FortiGate配置Hub-Spoke类型的IPsec VPN竟然是Full-M…

linux下springboot项目nohup日志或tomcat日志切割处理方案

目录 1. 配置流程 2. 配置说明 其他配置选项&#xff1a; 3. 测试执行 4. 手动执行 https://juejin.cn/post/7081890486453010469 通常情况下&#xff0c;我们的springboot项目部署到linux服务器中&#xff0c;通过nohup java -jar xxx.jar &指令来进行后台运行我们…

CSS中相对定位和绝对定位详解

文章目录 CSS中相对定位和绝对定位详解一、引言二、相对定位1、相对定位的概念1.1、代码示例 三、绝对定位1、绝对定位的概念1.1、代码示例 四、相对定位与绝对定位的区别五、使用示例六、总结 CSS中相对定位和绝对定位详解 一、引言 在CSS布局中&#xff0c;定位是一种强大的…

XCode-Color-Fixer 常见问题解决方案

XCode-Color-Fixer 常见问题解决方案 XCode-Color-Fixer StoryBoard / XIB 颜色偏差很严重&#xff0c;怎么破&#xff1f;XCode-Color-Fixer帮你忙&#xff01; 项目地址: https://gitcode.com/gh_mirrors/xc/XCode-Color-Fixer 项目基础介绍 XCode-Color-Fixer 是一个…

Visual Studio2019调试DLL

1、编写好DLL代码之后&#xff0c;对DLL项目的属性进行设置&#xff0c;选择待注入的DLL&#xff0c;如下图所示 2、生成DLL文件 3、将DLL设置为启动项目之后&#xff0c;按F5启动调试。弹出选择注入的exe的界面之后&#xff0c;使用代码注入器注入步骤2中生成的dll&#xff0…

C++入门基础篇:域、C++的输入输出、缺省参数、函数重载、引用、inline、nullptr

本篇文章是对C学习前期的一些基础部分的学习分享&#xff0c;希望也能够对你有所帮助。 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 目录 1.第一个C程序 2. 域 3. namespace 3.1 namespace的作用 3.2 namespace的定义 3.3 namespace使用说明 4.C的输入和输出…

在Ubuntu上安装RabbitMQ教程

1、安装erlang 因为rabbitmq是基于erlang开发的&#xff0c;所以要安装rabbitmq&#xff0c;首先需要安装erlang运行环境 apt-get install erlang执行命令查是否安装成功&#xff1a;erl&#xff0c;疯狂 Ctrlc 就能退出命令行 2、安装rabbitmq 1、查看erlang与rabbitmq版本…

latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)

文章目录 1、SHOW TABLE STATUS WHERE Name batch_version;2、latin1_swedish_ci使用场景注意事项修改字符集和排序规则修改表的字符集和排序规则修改列的字符集和排序规则修改数据库的默认字符集和排序规则 3、ALTER TABLE batch_version CONVERT TO CHARACTER SET utf8mb4 C…

使用vue-next-admin框架后台修改动态路由

vue-next-admin框架是一个基于 Vue 3 和 Vite 构建的后台管理系统框架。它采用了最新的前端技术栈&#xff0c;旨在提供一个高效、灵活、现代化的管理后台解决方案。该框架主要用于构建功能丰富且易于定制的管理后台应用&#xff0c;适合各种中大型项目。 其主要特点包括&am…

qiankun+vite+vue3

基座与子应用代码示例 本示例中,基座为Vue3,子应用也是Vue3,由于qiankun不支持Vite构建的项目,这里还要引入 vite-plugin-qiankun 插件 基座(主应用) 加载qiankun依赖 npm i qiankun -S qiankun配置(src/qiankun) src/qiankun/config.ts export default {subApp…

深度学习中Batch Normalization(BN)原理、作用浅析

最近做剪枝学习&#xff0c;其中一种是基于BN层的γ作为缩放因子进行剪枝的&#xff0c;那么我想搞懂BN的工作原理更好的理解网络、剪枝等&#xff0c;所以有了该文。 首先先说BN的作用在详细拆解&#xff0c;理解。以知乎一条高赞评论说明BN层到底在干什么。 Batch Norm 为什…

Python----Python高级(正则表达式:语法规则,re库)

一、正则表达式 1.1、概念 正则表达式&#xff0c;又称规则表达式,&#xff08;Regular Expression&#xff0c;在代码中常简写为regex、 regexp或RE&#xff09;&#xff0c;是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff0…

【16届蓝桥杯寒假刷题营】第1期DAY5

5.依依的询问最小值 - 蓝桥云课 问题描述 依依有个长度为 n 的序列 a&#xff0c;下标从 1 开始。 她有 m 次查询操作&#xff0c;每次她会查询下标区间在 [li​,ri​] 的 a 中元素和。她想知道你可以重新排序序列 a&#xff0c;使得这 m 次查询的总和最小。 求你求出 m 次…

机器学习10-解读CNN代码Pytorch版

机器学习10-解读CNN代码Pytorch版 我个人是Java程序员&#xff0c;关于Python代码的使用过程中的相关代码事项&#xff0c;在此进行记录 文章目录 机器学习10-解读CNN代码Pytorch版1-核心逻辑脉络2-参考网址3-解读CNN代码Pytorch版本1-MNIST数据集读取2-CNN网络的定义1-无注释版…