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

CentOS 配置FTP(开启VSFTPD服务)

网上已经有很多关于VSFTPD的配置,但有两个通病,要么就是原理介绍太多,要么就是不完整,操作下来又要查询多篇文章才能用。

我这里不讲原理,只记录操作,尽可能通过复制下面的操作可以实现FTP读写功能。方便自己和他人。

CentOS7 vsFTPd版本:3.0.2

一、FTP安装和操作命令

[root@localhost etc]# yum -y install vsftpd      //安装VSFTPD
[root@localhost etc]# systemctl status vsftpd  //查看VSFTPD状态
[root@localhost etc]# systemctl start vsftpd    //启动VSFTPD状态
[root@localhost etc]# firewall-cmd --permanent --zone=public --add-port=21/tcp  //打开防火墙21端口
[root@localhost etc]# firewall-cmd --zone=public --add-port=4500-5000/tcp --permanen //被动模式需要的端口
[root@localhost etc]# firewall-cmd --reload   //重新加载防火墙配置
[root@localhost etc]# firewall-cmd --list-all    //查看防火墙已经开放的商口
[root@localhost etc]# netstat -ntlp | grep ftp  //查看当前所有tcp端口 (显示含有ftp的项)
[root@localhost etc]# vim /etc/vsftpd/vsftpd.conf  //修改vsftpd配置
[root@localhost etc]# vim /etc/vsftpd/user_list  //修改禁止本地账户列表
[root@localhost etc]# vim /etc/vsftpd/ftpusers   //修改禁止本地账户列表

通过上面最后两行命令,进入vim /etc/vsftpd/user_list 和/etc/vsftpd/ftpusers,分别将本地账户root注释掉,这样root账户才能使用,否则会报530错误。

二、配置vsftpd配置文件

通过命令:vim /etc/vsftpd/vsftpd.conf可以进入修改配置。
可以在末尾添加以下内容

#开启被动模式
pasv_enable=YES
pasv_min_port=4500
pasv_max_port=5000
tcp_wrappers=YESlisten_ipv6=YESpam_service_name=vsftpd#允许“禁止登陆名单”,名单文件为ftpusers与user_list
userlist_enable=YES#禁止匿名访问模式
anonymous_enable=NO#允许本地用户模式
local_enable=YES#设置本地用户模式进入的主目录位置
local_root=/#设置匿名模式进入的主目录位置
anon_root=/var#所有用户限定在其主目录内
chroot_local_user=YES
#配置会话时间
idle_session_timeout=1800
data_connection_timeout=120
allow_writeable_chroot=YES#设置可写入权限
write_enable=YES

三、修改SELinux 的状态

之前没改这个状态可以正常使用,但新的一次我试过,没有开启ftpd_full_access,新增文件或文件夹会报550错误,例如:550 Create directory operation failed.但删除没问题。

[root@campus /]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@campus /]# setsebool -P ftpd_full_access 1
[root@campus /]# 
[root@campus /]# 
[root@campus /]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@campus /]# 

四、防火墙或路由器做映射和放开(对外网开放需要)

主要是做21端口的映射,具体这个就是因设备不同而不同操作,不做这一步,内网是能正常访问的了。

五、FTP连接和操作测试

通过以上操作,可以正常用root账户登录了。

PS C:\Users\jason> ftp
ftp>
ftp>
ftp> open192.168.8.12
连接到 192.168.8.12。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.8.12:(none)): root
331 Please specify the password.
密码:
230 Login successful.
ftp>
ftp>
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
226 Directory send OK.
ftp: 收到 107 字节,用时 0.0053.50千字节/秒。
ftp> cd root
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
anaconda-ks.cfg
index.html
initial-setup-ks.cfg
mysql-server
mysql80-community-release-el7-6.noarch.rpm
下载
公共
图片
文档
桌面
模板
视频
音乐
226 Directory send OK.
ftp: 收到 176 字节,用时 0.0058.67千字节/秒。
ftp> mkdir test
257 "/root/test" created
ftp>

六、设置开机自启动

设置开机自启动使命

[root@campus ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@campus ~]#

后记:以上操作为完整的可以使用root账号登录的操作,暂时可以实现我的传输文件的需求。linux默认是不允许root账号登录FTP的,可能担心一些安全性问题。如果需要进一步,就是开启账户登录功能,后面有时间我再测试补充。
如果你按照我上面的方法,在开启过程中出现任何故障,欢迎留言或私信给我。

相关文章:

CentOS 配置FTP(开启VSFTPD服务)

网上已经有很多关于VSFTPD的配置,但有两个通病,要么就是原理介绍太多,要么就是不完整,操作下来又要查询多篇文章才能用。 我这里不讲原理,只记录操作,尽可能通过复制下面的操作可以实现FTP读写功能。方便自…...

Http的请求方法

Http的请求方法对应的数据传输能力把Http请求分为Url类请求和Body类请求 1.Url类请求包括但不限于GET、HEAD、OPTIONS、TRACE 等请求方法 2.Body类请求包括但不限于POST、PUSH、PATCH、DELETE 等请求方法。 3.原因:get请求没有请求体(好像也可以…...

Python字典-- 内附蓝桥题:统计数字

字典 ~~不定时更新🎃,上次更新:2023/02/28 🗡常用函数(方法) 1. dic.get(key) --> 判断字典 dic 是否有 key,有返回其对应的值,没有返回 None 举个栗子🌰 dic …...

文本处理工具

Grep工具的基本使用grep作用:grep是行过滤工具;用于根据关键字进行行过滤提示:通过alias命令设置grep别名,搜索参数时带颜色显示alias grepgrep colorauto 命令语法格式:grep [选项] 参数 文件名grep命令选项&#xff…...

C++STL详解(三)——vector的介绍和使用

文章目录vector的介绍vector的使用vector的定义方式vector的空间增长问题reserve和resizevector的迭代器使用begin 和endrbegin和rendinsert 和erasefind函数元素访问vector迭代器失效问题1:inserse插入扩容时空间销毁造成野指针问题2:erase删除或者inse…...

GEBCO海洋数据下载

一、数据集简介 GEBCO(General Bathymetric chart of the Oceans)旨在为世界海洋提供最权威的、可公开获取的测深数据集。 目前的网格化测深数据集,即GEBCO_2022网格,是一个全球海洋和陆地的地形模型,在15角秒间隔的…...

【C++容器】vector、map、hash_map、unordered_map四大容器的性能分析【2023.02.28】

摘要 vector是标准容器对数组的封装,是一段连续的线性的内存。map底层是二叉排序树。hash_map是C11之前的无序map,unordered_map底层是hash表,涉及桶算法。现对各个容器的查询与”插入“性能做对比分析,方便后期选择。 测试方案…...

ACM-蓝桥杯训练第一周

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石.CSDN 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​ 📣系列专栏:ACM周训练题目合集.CSDN 💬总结&#xff1a…...

python基础—字符串操作

(1)字符串: Python内置了一系列的数据类型,其中最主要的内置类型是数值类型、文本序列(字符串)类型、序列(列表、元组和range)类型、集合类型、映射(字典)类型…...

【Spring】通过JdbcTemplate实现CRUD操作

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 通过JdbcTemplate实现 增删查改一、添加相关依…...

实战|掌握Linux内存监视:free命令详解与使用技巧

文章目录前言一. free命令介绍二. 语法格式及常用选项三. 参考案例3.1 查看free相关的信息3.2 以MB的形式显示内存的使用情况3.3 以总和的形式显示内存的使用情况3.4 周期性的查询内存的使用情况3.5 以更人性化的形式来查看内存的结果输出四. free在脚本中的应用总结前言 大家…...

嵌入式入门必看!调试工具安装——基于 AM64x核心板

本章节内容是为评估板串口安装USB转串口驱动程序。驱动适用于CH340、CH341等USB转串口芯片。 USB转串口驱动安装 适用安装环境:Windows 7 64bit、Windows 10 64bit。 本文测试板卡为创龙科技SOM-TL64x核心板,它是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核Cort…...

JAVA开发(java类加载过程)

1、java语言的平台无关性。 因为java语言可以跑在java虚拟机上,所以只要能装java虚拟机的地方就能跑java程序。java语言以后缀名 .java为文件扩展名。通过java编译器javac编译成字节码文件.class 。java字节码文件通过java虚拟机解析运行。所以java语言可以说是编译…...

【vulhub漏洞复现】Thinkphp 2.x 任意代码执行

一、漏洞详情影响版本 thinkphp 2.x但是由于thinkphp 3.0版本在Lite模式下没有修复该漏洞,所以也存在该漏洞漏洞原因:e 和 /e模式匹配路由:e 配合函数preg_replace()使用, 可以把匹配来的字符串当作正则表达式执行; /e 可执行模式&#xff0c…...

LeetCode 1145. 二叉树着色游戏 -- 简单搜索

二叉树着色游戏 提示 中等 199 相关企业 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。 最开始时: 「一…...

HyperGBM的三种Early Stopping方式

本文作者:杨健,九章云极 DataCanvas 主任架构师 很多机器学习框架如都提供了Early Stopping策略,主要用来防止模型过拟合。和模型训练提前停止的目标不同,AutoML的Early Stopping策略更多考虑的是算力消耗和模型质量的平衡。 通…...

心系区域发展,高德用一体化出行服务平台“聚”力区域未来

交通,是城市的血脉。通过对人、资源、产业的连接,交通建设往往是城市和区域经济发展的前提。不过,在度过了“要想富,先修路”的初级建设阶段后,交通产业内部也出现了挑战,诸如城市秩序、发展成本、用户使用…...

AI画图_stable-diffusion-webui安装使用指南(1)

本文章适用于: 有一定学习能力和钻研能力,遇到问题能合理使用搜索引擎尝试解决问题的人想在windows系统中尝试使用AI作画工具stable-diffusion-webui进行绘画的人有一定的计算机基础(会魔法上网、知道 python和Git)和英文阅读能力的人显卡为…...

浅谈MySQL主从复制

目录 1.MySQL主从复制是什么 2.MySQL主从复制的意义 3.MySQL主从复制原理 4.数据同步一致性问题 5.实现方式 1.MySQL主从复制是什么 MySQL主从复制就是指数据可以从一台MySQL的主节点复制到一个或多个从节点。 MySQL默认采用异步复制方式,这样从节点不用一直访…...

docker-compose安装kafka和php简单测试

docker-compose.yml内容: version: 3.1 services: zookeeper: container_name: zookeeper image: zookeeper:3.6 ports: - 2181:2181 kafka: image: wurstmeister/kafka container_name: kafka depends_on: - zookeeper …...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...