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

Linux-RedHat7.4-服务器搭建FTP

Linux FTP

1、安装vsftpd和lftp:

yum -y install vsftpd lftp ftp

2、创建用户:

vsftpd提供了三种认证方式:本地用户、虚拟用户、匿名用户,本文介绍本地用户的认证方式。

注:本文创建的本地用户为只能访问ftp,不可以登录linux。

useradd -d data001 -s /sbin/nologin nginx01
passwd nginx01
Log*#06#
useradd -d data002-s /sbin/nologin nginx02
passwd nginx02
Log*#06#
3、新建chroot_list文件:
cd /etc/vsftpd
touch chroot_list

4、配置用户访问权限:

1)vsftpd.conf:

vim /etc/vsftpd/vsftpd.conf
 
修改以下几项:


#禁用匿名登录,默认是启用
anonymous_enable=NO
#NO表示所有用户都可以跳出家目录,YES表示都不可以跳出,默认为都可以跳出
chroot_local_user=NO
#启用可以或不可以跳出家目录的例外
chroot_list_enable=YES
#当chroot_local_user=NO时,chroot_list里面配置的用户不可以跳出家目录,当chroot_local_user=YES时,chroot_list里面配置的用户可以跳出家目录
chroot_list_file=/etc/vsftpd/chroot_list#添加以下几项:#NO表示所有用户均不可以登录ftp,YES表示所有用户均能访问ftp,默认是YES
userlist_deny=NO
#当userlist_deny=NO时,user_list是白名单,当userlist_deny=YES时,user_list是黑名单
userlist_file=/etc/vsftpd/user_list

此时,解决方法有两个:

第一种,就是在vsftpd.config里面添加“allow_writeable_chroot=YES”:

vim /etc/vsftpd/vsftpd.conf

用户家目录可写,默认是只读的

allow_writeable_chroot=YES

注:allow_writeable_chroot=YES的作用:
如果设置了用户不能跳出家目录,那么在vsftp2.3版本之后要求家目录默认只能是只读的,此时如果家目录权限不是只读的,就不能登录,登录会报以下错误:Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()。

第二种,把家目录设置为只读:“chmod a-w /ftpfile”:

chmod a-w /ftpfile
2)chroot_list:

添加test用户

vim /etc/vsftpd/chroot_list

test
3)user_list:

添加test用户

vim /etc/vsftpd/user_list

test
4)vsftpd:
此时,如果不修改vsftpd文件的配置,登录会报530错误:Login failed: 530 Login incorrect.

解决方法有两个:

第一:注释auth   required        pam_shells.so;

vim /etc/pam.d/vsftpd

#auth   required        pam_shells.so

第二:pam_shells.so改为pam_nologin.so

vim /etc/pam.d/vsftpd

auth   required        pam_nologin.so
5、修改selinux配置:
如果不修改selinux配置,登录会报500错误:vsftpd 500 OOPS: chroot,因为test用户的shell是nologin的。

此时,解决方法有两个:

第一,关闭selinux:

vim /etc/selinux/config

SELINUX=disabled

第二,修改ftp_full_access为on:

getsebool -a | grep ftpd
setsebool -P ftpd_full_access 1
setenforce 1
6、重启:
reboot
7、关闭防火墙:

(1)设置开机启用防火墙:

systemctl enable firewalld.service
(2)设置开机禁用防火墙:

systemctl disable firewalld.service
(3)启动防火墙:

systemctl start firewalld
(4)关闭防火墙:

systemctl stop firewalld
(5)检查防火墙状态:

systemctl status firewalld 
(6)查看防火墙开启端口表:

firewall-cmd --list-ports

8、启动vsftpd服务:
#启动服务
systemctl start vsftpd.service
#停止服务
systemctl stop vsftpd.service
#重启服务
systemctl restart vsftpd.service
#开机自启
systemctl enable vsftpd.service
#查看自启列表
systemctl -l
systemctl -l | grep vsftpd
9、连接:

1.打开终端。在终端中输入以下命令来连接到FTP服务器:

ftp <服务器地址或IP>

2.输入用户名和密码。连接到FTP服务器后,系统会提示你输入用户名和密码:

Name: <用户名>
Password: <密码>

3.导航FTP服务器。登录成功后,你可以使用ftp命令导航FTP服务器的文件和目录。以下是一些常用的命令:

  • ls:列出当前目录下的文件和目录。
  • cd <目录>:进入指定的目录。
  • get <文件>:从FTP服务器下载指定的文件。
  • put <文件>:上传文件到FTP服务器。
  • pwd:显示当前所在的FTP服务器目录。
  • quit:退出FTP连接。
get file.txt
put file.txt

4.退出FTP连接。当你完成了对FTP服务器的操作后,可以使用以下命令退出FTP连接:

quit

(完)

相关文章:

Linux-RedHat7.4-服务器搭建FTP

Linux FTP 1、安装vsftpd和lftp&#xff1a; yum -y install vsftpd lftp ftp 2、创建用户&#xff1a; vsftpd提供了三种认证方式&#xff1a;本地用户、虚拟用户、匿名用户&#xff0c;本文介绍本地用户的认证方式。 注&#xff1a;本文创建的本地用户为只能访问ftp&…...

遍历递归数结构,修改里的disabled值

返回参数中新增字段 disabled,后端给的值为1和2, disabled1时&#xff0c;代表该节点需要置灰&#xff0c;不可选中 现在需要将disabled的值,改为布尔类型; 后端给的数结构是对象类型,tree接收数组类型; 先将对象类型的数据,遍历递归,修改里面的disabled值,最后再加[ ],改为…...

怎么通过AI大模型开发一个网站?

目录 一、提示词与AI输出 二、网站效果 以前不会代码开发&#xff0c;写网站是不可能的事情&#xff0c;现在有了AI&#xff0c;一切都有了可能。以下是我通过通义千问大模型开发的简单网站。 一、提示词与AI输出 提示词1 你是python程序员&#xff0c;我有一个大的需求&am…...

【Kubernetes】常见面试题汇总(四十)

目录 93. Kubelet 与 kubeproxy 作用。Kubeproxy 的三种代理模式和各自的原理以及它们的区别。 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 属…...

数据仓库-数据命名标准规范

一:主题域 1.1 业务主题域1.2 分析主题域1.3 数据域二: 词根 2.2 业务词根三:对象数据规范 3.1 表规范 3.1.1 数据装载周期3.1.2 数据装载方式3.1.3 表命名规范3.2.1 分区字段3.2.2 其他通用字段3.3 指标规范 3.3.1 时间修饰词3.3.2 常用度量3.3.2 指标命名3.4 ETL命名规范...

OCR识别系统 YOLOv8 +Paddle 方案落地

YOLOv8 PaddleOCR 技术方案落地 Yolov8相关文档Step 1 证件模型的训练Step 2 Yolov8进行图片推理Step 3 PaddleOCR进行识别Step 4 整合Yolov8 PaddleOCR 进行OCR Yolov8相关文档 《yolov8 官方网站》 《Yolov8 保姆级别安装》 Ultralytics YOLOv8 是一款尖端的、最先进的 (S…...

828华为云征文|部署去中心化网络的 AI 照片管理应用 PhotoPrism

828华为云征文&#xff5c;部署去中心化网络的 AI 照片管理应用 PhotoPrism 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 PhotoPrism3.1 PhotoPrism 介绍3.2 PhotoPrism…...

【PAM】Linux登录认证限制

PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插拔认证模块&#xff09;是一种灵活的认证框架&#xff0c;用于在 Linux 和其他类 Unix 系统上管理用户的身份验证。PAM 允许系统管理员通过配置不同的认证模块来定制应用程序和服务的认证方式&#xff0c;而不…...

Go语言Mutex的优化与TryLock机制解析

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 Go语言中的Mutex优化与goroutine调度机制 Go语言的开发团队于2011年6月30日对Mutex进行了重大调整,这次调整主要目的是优化并发场景下的锁竞争,尤其是在多goroutine争抢同一把锁时的处理。这次优化不仅改进了锁…...

基于TSN的实时通信网络延迟评估技术

论文标题&#xff1a;A TSN-based Technique for Real-Time Latency Evaluation in Communication Networks 作者信息&#xff1a; Alberto Morato, Claudio Zunino, Manuel Cheminod, Stefano Vitturi&#xff0c;来自意大利国家研究委员会&#xff0c;CNR-IEIIT。电子邮件:…...

初识ZYNQ——FPGA学习笔记15

一、ZYNQ简介 ZYNQ&#xff1a;Zynq-7000 All Programmable SoC&#xff08;APSoC&#xff09;&#xff0c;赛灵思公司&#xff08;AMD Xilinx&#xff09;推出的新一代全可编程片上系统 PS&#xff1a;Processing System&#xff0c;处理系统 PL&#xff1a;Program Logic&…...

理论-链表的头结点

所为头结点&#xff0c;是为了使空链表和非空链表的处理统一而在链表的头部增加的一个节点&#xff0c;这样无论链表是否为空&#xff0c;头指针都指向头结点&#xff0c;头结点中不存数据而只是存放指向第一个节点的指针。没有头结点的链表&#xff0c;头指针就指向第一个节点…...

oracle 分表代码示例

在Oracle数据库中&#xff0c;分表通常指的是将一个大表分解成多个较小的表&#xff0c;以提高管理和查询效率。这通常是通过分区&#xff08;Partitioning&#xff09;来实现的&#xff0c;而不是传统意义上的将表拆分成多个独立的表。不过&#xff0c;如果你确实需要将一个大…...

【MySQL】regexp_replace在MySQL以及regexp extract all在MySQL的用法

一、regexp_replace在MySQL的用法 在MySQL中&#xff0c;REGEXP_REPLACE() 函数用于在字符串中搜索正则表达式模式&#xff0c;并用指定的字符串替换该模式的每个匹配项。以下是其基本用法&#xff1a; 语法 REGEXP_REPLACE(expression, pattern, replace_string[, pos[, oc…...

详解 FFmpeg 中的 -map 选项

FFmpeg 是一个强大的多媒体处理工具&#xff0c;可以处理各种音视频转换、编辑任务。-map 选项是 FFmpeg 中非常重要且灵活的一个功能&#xff0c;它允许用户精确控制输入流如何映射到输出文件中。使用 -map&#xff0c;可以指定视频、音频或字幕等特定流进行处理&#xff0c;这…...

学习threejs,绘制二维线

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言二、&#x1f340;绘制二维线1. ☘️…...

跑lvs出现soft connect怎么处理?

首先&#xff0c;我们先了解一下什么是soft connect。简而言之&#xff0c;就是工具会将所有连接在psub上的信号认作soft connect&#xff08;也就是short&#xff09;。如图1所示&#xff0c;VSS和AVSS都接到了p上&#xff0c;它们通过psub便有了soft connect。 如果有soft co…...

实验1 Python语言基础一

目录 实验1 Python语言基础一1、下载安装Python&#xff0c;贴出验证安装成功截图2、建立test.py文件,运行后贴出截图&#xff0c;思考if __name”__main__”的意思和作用3、分别运行下面两种代码&#xff0c;分析运行结果产生的原因。记牢python中重要语法“tab”的作用。6、编…...

多线程相关内容

一、进程与线程 (一)进程的概述 进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的一个独立单位。每个进程都有自己独立的内存空间&#xff0c;包括代码、数据和运行时的环境。进程的执行需要系统为其分配各种资源&#xff0c;如 CPU 时间、内存空间、文件描述符…...

mybatis-puls快速入门

1.概述 在真实项目开发中我们的服务模块&#xff0c;一般都要进行数据库操作&#xff0c;并且每个domain都有crud&#xff0c;需多次写重复代码。我们使用MybatisPlus&#xff0c;就不用写重复代码&#xff0c;并且还有模板的功能&#xff0c;可以一键生成daomin,query,mapper…...

mRNA疫苗序列生物信息学分析:从密码子优化到免疫原性预测

1. 项目概述&#xff1a;解码两大mRNA疫苗的“核心蓝图”作为一名在生物信息学和基因组学领域摸爬滚打了十多年的“老码农”&#xff0c;我见过太多令人兴奋的数据集&#xff0c;但当我第一次在GitHub上看到这个名为“Assemblies-of-putative-SARS-CoV2-spike-encoding-mRNA-se…...

Java并发编程:CompletableFuture实战

Java并发编程&#xff1a;CompletableFuture实战 引言 Java 8引入的CompletableFuture是现代异步编程的重要工具&#xff0c;它不仅解决了Future的局限性&#xff0c;还提供了丰富的API用于组合、转换和处理异步结果。相比传统的Future&#xff0c;CompletableFuture支持流式调…...

从PUMA560到你的项目:手把手教你将经典DH建模流程迁移到自定义机械臂

从PUMA560到自定义机械臂&#xff1a;DH建模实战迁移指南 当机械臂从教科书案例走向真实项目时&#xff0c;最令人头疼的莫过于面对一个全新构型却不知如何下手。本文将以工业界经典的PUMA560为跳板&#xff0c;拆解一套可迁移的DH建模方法论&#xff0c;带您跨越从理论到实践的…...

用Python复现FAST天眼数学建模:从坐标变换到促动器伸缩量计算(附完整代码)

用Python复现FAST天眼数学建模&#xff1a;从坐标变换到促动器伸缩量计算&#xff08;附完整代码&#xff09; 中国天眼FAST作为全球最大单口径射电望远镜&#xff0c;其主动反射面调节系统堪称现代工程奇迹。当观测不同方位天体时&#xff0c;需要通过促动器精确控制4450块反射…...

开源机械爪控制库:从PID算法到ROS集成的全栈开发指南

1. 项目概述&#xff1a;一个开源的机械爪设计与控制库最近在机器人硬件开发的圈子里&#xff0c;开源项目“MeyerZhou/openclaw”引起了不少创客和机器人爱好者的注意。简单来说&#xff0c;这是一个专注于机械爪&#xff08;或称机械手、夹爪&#xff09;设计与控制的代码库和…...

CircuitPython状态灯、安全模式与文件系统故障排查实战指南

1. 项目概述与核心价值 如果你正在用CircuitPython做项目&#xff0c;无论是物联网传感器节点、智能穿戴设备还是互动艺术装置&#xff0c;大概率都遇到过这样的瞬间&#xff1a;板子上的RGB状态灯突然开始闪烁诡异的颜色&#xff0c;或者电脑上那个熟悉的 CIRCUITPY U盘图标…...

仅限菲律宾本地团队使用的ElevenLabs隐藏功能:Tagalog重音标记语法(`[ˈba.ka]`)、连读规则注入与敬语语调开关(内测白名单已开放)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs菲律宾文语音能力的本地化演进背景 菲律宾语&#xff08;Filipino&#xff09;作为以他加禄语&#xff08;Tagalog&#xff09;为基础的国家官方语言&#xff0c;拥有约1.05亿母语及第二语言…...

用Ruby实现RISC-V模拟器:从指令集架构到交互式教学工具

1. 项目概述&#xff1a;一个为Ruby语言量身打造的RISC-V模拟器如果你是一名Ruby开发者&#xff0c;或者对RISC-V这个新兴的指令集架构充满好奇&#xff0c;那么你很可能已经听说过RuriOSS/rurima这个名字。简单来说&#xff0c;这是一个用Ruby语言实现的RISC-V指令集模拟器。但…...

MPLAB代码配置器实战:图形化配置PIC/AVR单片机外设,提升开发效率

1. 项目概述&#xff1a;为什么你需要关注MPLAB代码配置器如果你正在使用Microchip的PIC或AVR单片机&#xff0c;并且还在手动编写外设初始化代码、一遍遍翻阅数据手册核对寄存器位&#xff0c;那今天聊的这个工具&#xff0c;可能会让你有种“相见恨晚”的感觉。我说的就是MPL…...

ESP32接入ChatGPT API:构建本地化AIoT智能交互终端

1. 项目概述&#xff1a;当ESP32遇见ChatGPT&#xff0c;开启本地化智能交互新玩法最近在捣鼓ESP32开发板&#xff0c;总想着给它加点“智能”的料。传统的物联网项目&#xff0c;比如温湿度监测、远程控制开关&#xff0c;虽然实用&#xff0c;但总觉得少了点“灵魂”。直到我…...