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

Centos 7系统安装proftpd-1.3.8过程

 

一、下载安装:
1、网站中能够下载到profptd源码:
http://www.proftpd.org/
这个是软件源码ftp地址:
ftp://ftp.proftpd.org/distrib/source/
2、进入目录/root/download解压:

tar -zxvf proftpd-1.3.8.tar.gz  #将源码压缩包解压到当前目录中
cd proftpd-1.3.8/               #进入到解压目录中
执行:
./configure --enable-nls --prefix=/usr/local/proftpd
#如果提示没有安装gcc,那么执行:
yum -y install gcc  
或者下载gcc 下载网址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/
gcc-10.3.0.tar.gz

#安装完后:
make
make install

二、配置:
1、创建本地用户proftpd禁止ssh登录。创建之后所有虚拟用户使用这个系统用户访问文件:
[root@localvm ~]# useradd  proftpd -d /home/proftpd -s /bin/false -u 1001
2、将ftp根目录权限设置成系统用户proftpd上:
chown -R proftpd:proftpd /data/ftpdata
3、创建虚拟用户admin虚拟到proftpd上:
/usr/local/proftpd/bin/ftpasswd --passwd --uid=1001 --gid=1001 --home=/data/ftpdata --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftpd.passwd --name=admin
/usr/local/proftpd/bin/ftpasswd --passwd --uid=1001 --gid=1001 --home=/data/ftpdata --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftpd.passwd --name=shangchuan
/usr/local/proftpd/bin/ftpasswd --passwd --uid=1001 --gid=1001 --home=/data/ftpdata --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftpd.passwd --name=xiazai

#上面命令的说明:

#name是登陆ftp的用户名 file是密码文件位置  home是ftp用户的根目录
 /*执行后显示:
ftpasswd: using alternate file: /usr/local/proftpd/etc/ftpd.passwd
ftpasswd: creating passwd entry for user admin
ftpasswd: /sbin/nologin is not among the valid system shells.  Use of
ftpasswd: "RequireValidShell off" may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.
输入密码:
*/
/usr/local/proftpd/bin/ftpasswd --group --file=/usr/local/proftpd/etc/ftp.group --gid=1001 --name=proftpd --member=admin
#创建用户组,生成配置文件 member将创建的用户添加到用户组中

2、ftp用户配置要求:admin 权限不限 shangchuan 只能上传文件夹上传  xiazai 只能下载文件下载:
#配置文件《开始》:
# This is a basic ProFTPD configuration file (rename it to 
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
 
ServerName            "ProFTPD Default by wo"
ServerIdent            off
ServerType            standalone
DefaultServer            on
 
# Port 21 is the standard FTP port.
Port                21
 
# Don't use IPv6 support by default.
UseIPv6                off
 
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                022
 
# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances            1000
 
# Set the user and group under which the server will run.
User                proftpd
Group                proftpd
 
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot /data/ftpdata
 
# Normally, we want files to be overwriteable.
AllowOverwrite        on
 
TimeoutLogin         60
TimeoutNoTransfer    1200
TimeoutStalled       2400
AllowStoreRestart       on     
#允许断点续上传 
AllowRetrieveRestart    on      
#允许断点续下载
PassivePorts   60000   60100        
#指定数据端口的范围 
UseReverseDNS        off   
#关闭DNS反向查询,节省连接时间
TransferLog          /var/spool/syslog/proftpd/xferlog.legacy  
#数据传输记录
# Bar use of SITE CHMOD by default
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /usr/local/proftpd/etc/ftpd.passwd
AuthGroupFile /usr/local/proftpd/etc/ftp.group
MaxClients 100
#IdentLookups off
UseReverseDNS off
DeleteAbortedStores on
DirFakeGroup on
DirFakeUser on
DirFakeMode 0600
RequireValidShell off
LangOptions PreferServerEncoding    #在编译时加入 --enable-nls才能用
UseEncoding utf8 gbk                #在编译时加入 --enable-nls才能用
<Limit Login>
    Order deny,allow
    AllowGroup proftpd
</Limit>
 
#显示~/welcome.msg中的欢迎信息,可以编辑welcome.msg自己制定欢迎信息 
#       %T 当前的时间 
#       %F 所在硬盘剩下的空间 
#       %C 当前所在的目录 
#       %R:客户的主机名 
#       %U:客户登陆的帐号 
#       %M:允许最大连接数 
#       %N:当前的连接人数 
#       %E:FTP服务器管理员的email 
#       %i:本次上传的文件数量 
#       %o:本次下载的文件数量 
 
AllowOverwrite  YES              
#允许文件可以重新写 
 
#IdentLookups    off      
#查找客户的远程用户名,关掉节省连接时间 
 
#ExtendedLog     /var/spool/syslog/proftpd/access.log WRITE,READ write 
#以write的日志格式记录READ,WRITE的日志 
 
#ExtendedLog     /var/spool/syslog/proftpd/auth.log AUTH auth 
#以auth的日志格式记录AUTH的日志 
<Directory /data/ftpdata>
    <Limit ALL>
        AllowUser admin shangchuan xiazai
    </Limit>
    <Limit  CWD RETR DIRS RMD>
        AllowUser shangchuan xiazai
    </Limit>
    <Limit WRITE STOR RMD READ>
        Order allow, deny
        DenyUser  shangchuan xiazai
    </Limit>
</Directory>
<Directory "/data/ftpdata/上传">
    <Limit ALL>
        DenyAll
    </Limit>
    <Limit WRITE READ CWD STOR MKD DIRS RMD>
        AllowUser admin
    </Limit>
    <Limit CWD STOR MKD DIRS>
        AllowUser shangchuan
    </Limit>
</Directory>
<Directory "/data/ftpdata/下载">
    <Limit ALL>
        DenyAll
    </Limit>
    <Limit WRITE READ CWD STOR MKD DIRS RMD>
        AllowUser admin
    </Limit>
    <Limit READ CWD RETR DIRS>
        AllowUser xiazai
    </Limit>
</Directory>

<Limit SITE_CHMOD>
  DenyAll
</Limit>

配置文件《结束》
========
Limit配置说明:
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限

========
三、防火墙开启配置:

systemctl start firewalld
systemctl enable firewalld


firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=60000-60100/tcp
#firewall-cmd --permanent --remove-port=8021/tcp

firewall-cmd --reload

四、启动服务:
1、启动
cd /usr/local/proftpd/sbin         #进入到服务运行文件目录
./proftpd                          #启动服务
2、停止
ps -ef | grep proftpd              #检查服务进程是否启动
pkill proftp


=============
参考文章
https://blog.csdn.net/xiazhipeng1000/article/details/85224076

相关文章:

Centos 7系统安装proftpd-1.3.8过程

一、下载安装&#xff1a; 1、网站中能够下载到profptd源码&#xff1a; http://www.proftpd.org/ 这个是软件源码ftp地址&#xff1a; ftp://ftp.proftpd.org/distrib/source/ 2、进入目录/root/download解压&#xff1a; tar -zxvf proftpd-1.3.8.tar.gz #将源码压缩包解压…...

DevExpress ASP.NET Web Forms v23.2最新版本系统环境配置要求

本文档包含有关安装和使用 DevExpress ASP.NET Web Forms控件的系统要求的信息。 点击获取DevExpress v23.2正式版(Q技术交流&#xff1a;909157416&#xff09; .NET Framework DevExpress ASP.NET Web Forms控件和MVC扩展支持以下.NET Framework 版本。 如果您需要 DevExp…...

5分钟快速掌握 XML (Extensible Markup Language)

背景 在Java开发的过程中&#xff0c;我们经常需要和配置文件打交道&#xff0c;其中接触最多的就是XML。从最初学习 JavaWeb 时在 Tomcat 中配置servlet&#xff0c;到后来接触Spring框架并在XML中编写各种配置&#xff0c;XML一直是不可或缺的一部分。然而&#xff0c;XML的…...

Python中的HTTP代理服务器和客户端的区别与联系

在Python编程中&#xff0c;当我们涉及到网络通信&#xff0c;尤其是HTTP请求时&#xff0c;经常会听到“HTTP代理服务器”和“客户端”这两个词。它们在网络世界中扮演着不同的角色&#xff0c;但又有着紧密的联系。 区别 首先&#xff0c;我们来谈谈它们的区别。 HTTP代理…...

升级Oracle 单实例数据库19.3到19.22

需求 我的Oracle Database Vagrant Box初始版本为19.3&#xff0c;需要升级到最新的RU&#xff0c;当前为19.22。 以下操作时间为为2024年2月5日。 补丁下载 补丁下载文档参见MOS文档&#xff1a;Primary Note for Database Proactive Patch Program (Doc ID 888.1)。 补丁…...

在Vue中如何动态绑定class和style属性

在Vue中&#xff0c;动态绑定class和style属性是我们经常遇到的需求。这个功能允许我们根据不同的条件来动态改变元素的样式&#xff0c;让我们的应用更加灵活和富有交互性。在本篇博客文章中&#xff0c;我将带你深入探索在Vue中如何实现这一功能。 首先&#xff0c;让我们了…...

使用Docker部署DashDot服务器仪表盘并结合cpolar实现公网监测服务器

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1. 本地环境检查1.1 安装docker1.2 下载Dashdot镜像 2.…...

Android kernel logcat时间戳显示错乱修改

前言 在抓取log时发现&#xff0c;kernel log合logcat的时间戳不对应。在分析log时&#xff0c;造成很大的困扰 修改 针对Android 10 的修改 diff --git a/system/core/logd/LogKlog.cpp b/system/core/logd/LogKlog.cpp old mode 100644 new mode 100755 index edd326a..f…...

2024年考PMP还有什么用?

PMP 是项目管理专业人士资格认证的意思&#xff0c;也是项目管理领域通用的证书&#xff0c; 做项目的基本都会去考。 要说 PMP 有啥作用&#xff1f; 个人感觉 PMP 证书更多的是跳槽、转行的敲门砖的作用&#xff0c;因为现在很多公司都要 PMP 证书&#xff0c;有了可以加分…...

解决zabbix图像中文乱码

使用zabbix查看监控图像信息&#xff0c;发现会有中文乱码现象。 解决方法如下&#xff1a; 1.拷贝windows文字文件到服务器上 C:\Windows\Fonts目录下拷贝自己需要的中文语言文件 2.修改配置文件 vim /usr/share/zabbix/include/defines.inc.php 81行 define(ZBX_GRAPH_F…...

centos间文件传输

scp /home/vagrant/minio zx192.168.56.34:/home/zx /home/vagrant/minio 是你要传输的文件而且是当前机器登录用户有权限操作的文件 zx是目标机器的用户192.168.56.34是目标机器的地址 /home/zx是要传到这个文件夹下 要确保zx有/home/zx这个文件夹的操作权限 本质就是ssh文…...

2.0 Zookeeper 安装配置

Linux 安装 zookeeper 下载地址为: Apache ZooKeeper。 选择一稳定版本&#xff0c;本教程使用的 release 版本为3.4.14&#xff0c;下载并安装。 打开网址 https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz&#xff0c;看到如下界…...

Matomo 访问图形显示异常

近期我们的把 PHP 系统完全升级后&#xff0c;访问 Matomo 的站点有关访问的曲线无法显示。 出现的情况如下图&#xff1a; 我们可以看到图片中有关的访问曲线无法显示。 如果具体直接访问链接的话&#xff0c;会有下面的错误信息。 问题和解决 出现上面问题的原因是缺少 ph…...

MySQL学习记录——사 表结构的操作

文章目录 1、创建表2、查看表结构3、改变表结构4、删除表5、总结 1、创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 例子 create table users ( id int, name varchar(20) c…...

【华为 ICT HCIA eNSP 习题汇总】——题目集12

1、企业网络内部常常采用私有 IP 地址进行通信&#xff0c;以下哪个地址属于私有 IP 地址&#xff1f; A、0.1.1.1 B、127.5.4.3 C、128.0.0.5 D、172.24.35.36 考点&#xff1a;网络层 解析&#xff1a;&#xff08;D&#xff09; A类 IP 地址中&#xff0c;10.0.0.0 ~ 10.255…...

Redis发布订阅及事务管理

目录 1.1 发布订阅 1.1.1 什么是发布订阅 1.1.2 常用命令 1.1.3 示例演示 1.2 事务管理 1.2.1 事务定义 1.2.2 Multi、Exec、discard 1.2.3 示例 1.2.4 事务的错误处理 1.2.5 事务的冲突问题 1.2.5.1 事务场景 1.2.5.2 悲观锁 1.2.5.3 乐观锁 1.2.5.4 事务解决冲…...

设计模式第五天|代理模式 7-小明买房子 装饰模式 8-咖啡加糖

目录 【设计模式专题之代理模式】7-小明买房子【设计模式专题装饰模式】8-咖啡加糖 【设计模式专题之代理模式】7-小明买房子 文章链接&#xff1a;卡码网设计模式 题目链接&#xff1a;7-小明买房子 这里注意在HomeAgent类里需要定义对象成员变量HomeBuyer&#xff0c;这里在实…...

mongodb数据库集合(表)的创建和数据修改

文章目录 前言发现宝藏一、集合的创建二、集合的修改三、数据插入数据库四、清空数据库集合数据 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。当然&#xff0c;如果能帮到一些萌新进行新技术的学习那也是极好的。作…...

MySQL 的UI

MySQL也有许多用户界面&#xff08;UI&#xff09;工具&#xff0c;用于管理数据库。以下是一些流行的MySQL UI工具&#xff1a; 1. **MySQL Workbench&#xff1a;** 由MySQL官方提供&#xff0c;功能强大&#xff0c;支持数据库建模、SQL开发、服务器配置等。 2. **DBeaver&a…...

Leetcode 3026. Maximum Good Subarray Sum

Leetcode 3026. Maximum Good Subarray Sum 1. 解题思路2. 代码实现 题目链接&#xff1a;3026. Maximum Good Subarray Sum 1. 解题思路 这一题的话主要就是要快速遍历所有的good subarray并快速获得每一个good subarray的和的最大值。 因此&#xff0c;问题就主要就成了两…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...