vsftpd配置用户和密码让其他客户端连接
一、第一个主机:vsftpd下载及配置
前置准备:
#卸载防火墙
yum -y remove firewalld
#为了不让防火墙有影响,iptables配置也清空
iptables -F
vim /etc/selinux/conf
SELINUX=disabled #主要是把它改为disabled或者permissive
SELINUXTYPE=targeted
#重启linux让selinux生效
reboot
vim ftp.sh
#! /bin/bash
#ftp客户端连接的用户名
FTP_USER=ftpuser
#ftp客户端连接的密码
FTP_PASS="ftpuser1007"
#配置文件路径
CONF_FILE="/etc/vsftpd/vsftpd.conf"
FTP_LOCAL_ROOT=/data/ftp_sources
#备份一下配置文件,改错了还可以利用备份文件还原,重新开始
cp $CONF_FILE ${CONF_FILE}_bak
#追加配置文案的function
add_conf() { check_conf=$1#如果没有对应的该项配置,就追加grep "$check_conf" $CONF_FILE || echo "$check_conf" >> $CONF_FILE
}
# 安装vsftpd服务
yum install vsftpd -y
# 创建FTP登录用户
useradd -s /sbin/nologin $FTP_USER
#设置用户密码
echo "$FTP_PASS" | passwd --stdin $FTP_USER
#如果不存在$FTP_LOCAL_ROOT目录,就创建该目录
[[ -d "$FTP_LOCAL_ROOT" ]] || mkdir -p $FTP_LOCAL_ROOT
#不要忘记赋予用户.组的权限
chown -R ${FTP_USER}.${FTP_USER} $FTP_LOCAL_ROOT
# 查询/etc/shells是否有/sbin/nologin解释器,如果没有就追加该解释器
grep "/sbin/nologin" /etc/shells || echo "/sbin/nologin" >> /etc/shells
# 追加给/etc/vsftpd/vsftpd.conf的配置
add_conf "listen_port=8090"
add_conf "chroot_local_user=YES"
add_conf "chroot_list_enable=NO"
add_conf "allow_writeable_chroot=YES"
add_conf "userlist_deny=NO"
add_conf "userlist_file=/etc/vsftpd/user_list"
add_conf "local_root=/data/ftp_sources"
add_conf "vsftpd_log_file=/var/log/vsftpd.log"
#注意将原来的listen=NO和listen_ipv6=YES注释掉
sed -i 's/^listen=NO/#listen=NO/' $CONF_FILE
sed -i 's/^listen_ipv6=/#listen_ipv6=/' $CONF_FILE
#将ftp能够登录的用户列表文件备份
cp /etc/vsftpd/user_list /etc/vsftpd/user_list_bak
#将ftp能够登录的用户列表文件清空,只留ftpuser这个用户
echo "ftpuser" > /etc/vsftpd/user_listsystemctl restart vsftpd
systemctl enable vsftpd
使用ftp.sh
chmod +x ftp.sh
./ftp.sh
二、其他linux主机使用ftp连接
#下载ftp插件
yum -y install ftp[root@localhost shared_dir]# ftp 192.168.137.12 8090
Connected to 192.168.137.12 (192.168.137.12).
220 (vsFTPd 3.0.3)
Name (192.168.137.12:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

下载文件使用get xxx
上传使用put xxx
进入本机目录: lcd 本机目录
三、windows电脑使用Filezilla连接
下载地址:
Download FileZilla Client for macOS (Intel)

相关文章:
vsftpd配置用户和密码让其他客户端连接
一、第一个主机:vsftpd下载及配置 前置准备: #卸载防火墙 yum -y remove firewalld #为了不让防火墙有影响,iptables配置也清空 iptables -F vim /etc/selinux/conf SELINUXdisabled #主要是把它改为disabled或者permissive SELINUXTYPEtargeted #重启linux让seli…...
Oracle使用序列后提示违反唯一约束---解决办法
1、问题原因分析 出现这个问题的原因是插入数据的时候,由于之前没有使用序列插入,而是直接插入了一个比当前序列nextval还大的值,即直接将id写死了。后面再使用序列插入的时候,如果序列小于该值的话,是可以正常插入的…...
乐观锁悲观锁
乐观锁 乐观锁的核心思想是“尽量不去锁定资源,而是尽量让线程并发地工作”,并在最后阶段检查冲突,只有在检测到冲突时才会采取纠正措施。乐观锁通常通过以下方式实现: 版本号控制:每次对共享资源进行修改时…...
Unity面试:什么是UnityEvent?
UnityEvent是Unity引擎中一种特殊的事件系统,属于Unity的事件和委托机制。它允许开发者在运行时定义和管理事件的响应,从而实现松耦合的事件处理。 以下是UnityEvent的一些主要特点和用途: 松耦合的设计:UnityEvent允许对象之间…...
食品安全管理员考试真题题库及答案
食品安全管理员考试真题题库及答案 95.对食品生产经营企业来说,实施ISO 22000是()。 A.强制性的 B.无效的 C.自愿的 D.必须的 答案:C 96.CDC的意思是()。 A.卫生监督所 B.疾病控制预防中心 C.卫生…...
【C++】—— vector 的模拟实现
【C】—— vector 的模拟实现 0 前言1 vector 的成员变量1.1 stl 库中的 vector 成员变量1.2 模拟实现 vector 成员变量 2 迭代器3 size、capacity、empty4 opreator[ ]5 reserve5.1 初版 reserve5.2 _finish 的处理5.3 深拷贝5.4 终版 6 push_back 与 pop_back7 打印函数7.1 初…...
MySQL 查询过慢的优化方法
1. 优化查询语句 问题:使用 SELECT * 会导致查询获取不必要的数据。 SELECT * FROM users WHERE age > 30;优化建议: 指定需要的列,这样可以减少数据传输的负担,提升查询速度。 SELECT name, email FROM users WHERE age &g…...
YoloV8修改分类(Classify)的前处理(记录)
修改原因 yolo自带的分类前处理对于长方形的数据不够友好,存在特征丢失等问题修改后虽然解决了这个问题但是局部特征也会丢失因为会下采样程度多于自带的,总之具体哪种好不同数据应该表现不同我的数据中大量长宽比很大的数据所以尝试修改自带的前处理&a…...
半监督学习能否帮助训练更好的模型?
数据科学家面临的最常见挑战之一是缺乏足够的标记数据来训练一个可靠且准确的模型。标记数据对于监督学习任务,如分类或回归至关重要。然而,在许多领域,获取标记数据既昂贵又耗时,有时甚至是不切实际的。另一方面,未标…...
VBA 获取字段标题代码轻松搞定
hi,大家好! 最近又有一段时间没和大家唠嗑了,最近也没有时间给大家开直播,天天忙,但不知道在忙啥!那今天我们来讲点啥好玩的呢? 今天是老师节,那就先祝各位老师节日快乐࿰…...
C++代码片段
for(int i1; i<shuliang; i) { int f100; cout<<a[i].name<<":"<<\n; cout<<"该舰艇现在距离基地"<<km<<"km,需要"<<km…...
Golang | Leetcode Golang题解之第388题文件的最长绝对路径
题目: 题解: func lengthLongestPath(input string) (ans int) {n : len(input)level : make([]int, n1)for i : 0; i < n; {// 检测当前文件的深度depth : 1for ; i < n && input[i] \t; i {depth}// 统计当前文件名的长度length, isFi…...
docker打包前端项目
🎉 前言 之前有出过一期打包后端项目和数据库的教程,现在填个坑,出一期打包前端项目的教程,废话不多说,我们直接进入正题。 🎉 编写Dockerfile文件 老规矩,先描述项目结构,结构图…...
调度器怎么自己写?调度器在实现时需要注意哪些细节?请写一个jvm的调度器?如何在这个调度器中添加多个任务?
如果你想自己编写一个调度器,可以按照以下步骤进行: 一、确定需求和目标 明确调度器的应用场景,例如任务调度、资源分配、进程管理等。 确定调度的对象,比如任务、作业、进程等。 定义调度的目标,如最小化完成时间、最…...
创客匠人对话|德国临床营养学家单场发售百万秘笈大公开
老蒋创客圈第66期对话标杆直播连麦,我们邀请到【梦想身型健康管理学院】平台创始人吴迪老师。为我们分享“健康管理赛道单场发售破百万!创始人背后的操盘秘笈是什么?”,深度剖析如何去展示自己的核心竞争力?如何扩大专…...
开源项目低代码表单FormCreate从Vue2到Vue3升级指南
开源项目低代码表单 FormCreate v3 版本基于 Vue 3.0 构建,尽管功能与 v2 版本大致相同,但有一些重要的变更和不兼容项需要注意。 源码地址: Github | Gitee FormCreate v3 对比 v2 版本在一些功能和配置项上做了调整,以更好地支持 Vue 3 的…...
序偶解释:李冬梅老师书线性表一章第一页
序偶的定义: 有序偶是两个对象的搜集,使得可以区分出其中一个是“第一个元素”而另一个是“第二个元素”。带有第一个元素a和第二个元素b的有序偶通常写为(a,b)。例如,在数学中,有序偶用于表示二维空间上的点。序偶的特性…...
3GPP协议入门——物理层基础(二)
物理层基础(一)在这里~ 物理层基础(一) 1.RE Resource Element,NR中最小的资源单位,时域上是一个OFDM符号长度,频域上为一个子载波宽度。 2. RB Resource Block,时域上是一个OFDM符…...
Java学习Day41:手刃青背龙!(spring框架之事务)
1.spring事务概念 在数据层和业务层保证一系列数据库操作原子性成功失败!(相比事务可以在业务层开启) 1.事务定义:关键字:Transactional(一般写在接口上) 2.事务管理器:在JdbcCon…...
el-image(vue 总)
一 加载静态资源 在第一次使用vue3开发项目时,使用require(‘图片路径’),结果浏览器报错: Uncaught (in promise) ReferenceError: require is not defined 因为require是webpack提供的一种加载能力,但…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
