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

ubuntu篇---配置FTP服务,本机和docker安装

ubuntu篇---配置FTP服务

  • 一、本机安装
    • 1.1 安装FTP服务器软件
    • 1.2 配置FTP服务
  • 二、docker安装(我用的这个)
    • 2.1 创建 目录
    • 2.2 启动脚本
    • 2.3 访问
    • 2.4 如何创建一个新的用户
    • 2.5 测试
    • 2.6 使用

一、本机安装

1.1 安装FTP服务器软件

  • ubuntu安装vsftp
sudo apt install vsftpd
  • 查看安装后的版本
vsftpd --version

1.2 配置FTP服务

  • 为FTP添加用户ftpuser,并设置用户的密码
sudo useradd -m ftp
sudo passwd uftp
  • 创建ftp的根目录

#这里再/home/uftp/下创建一个ftpdir作为ftp的根目录

  • 配置vsftpd.conf文件
sudo vim /etc/vsftpd.conf
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=NOlocal_root=/home/uftp
  • 启动ftp服务
 sudo service vsftpd start
sudo service vsftpd status
sudo service vsftpd restart

二、docker安装(我用的这个)

2.1 创建 目录

mkdir -p /docker/vsftp

2.2 启动脚本

#!/bin/bashdocker run \
--name vsftpd \
-p 20:20 -p 21:21 -p 33361-33365:33361-33365 \
-v ./vsftp/ftpfile:/home/vsftpd \
-e FTP_USER=admin \
-e FTP_PASS=!Admin123 \
-e PASV_ADDRESS=127.0.0.1 \
-e PASV_MIN_PORT=33361 \
-e PASV_MAX_PORT=33365 \
--restart=always \
-d fauria/vsftpd

2.3 访问

ftp://127.0.0.1        账密 admin/!Admin123

2.4 如何创建一个新的用户

docker exec -it vsftpd /bin/bashvi /etc/vsftpd/virtual_users.txt# 这里的 admin 用户跟密码是安装的时候创建的
# 这里创建一个新用户
admin
!Admin123
uftp
123456# 保存数据库
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db# 设置新用户家目录
mkdir -p /home/vsftpd/uftp# 改变目录权限
chown ftp:ftp /home/vsftpd/uftp/

在这里插入图片描述
在这里插入图片描述

 
docker容器中vsftpd修改账号密码

进入容器,直接编辑 /etc/vsftpd/virtual_users.txt,添加用户、修改密码即可

2.5 测试

ftp 127.0.0.1

在这里插入图片描述

2.6 使用

1、连接服务器
格式:ftp [hostname| ip-address]

ftp 192.168.x.xx

2、下载文件
get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则

ftp> get /usr/your/1.htm 1.htm (回车)

mget      
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则

ftp> cd /usr/your/
ftp> mget . (回车)

3、上传文件
put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm

ftp> put 1.htm /usr/your/2.htm (回车)

mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下

ftp> cd /usr/your (回车)
ftp> mput *.htm (回车)

4、断开连接
bye:中断与服务器的连接。

ftp> bye (回车)

另外的用法:

在shell命令行下输入:ftp 192.168.x.xx根据提示输入正确的用户名和密码即可常用操作命令(,号不是命令内容)FTP>open  [ftpservername],和指定的远程Linux FTP服务器连接FTP>user  [username]  [password],使用指定远程Linux FTP服务器的用户登录FTP>pwd,显示远程Linux FTP服务器上的当前路径文章地址https://www.yii666.com/blog/144054.htmlFTP>ls,列出远程Linux FTP服务器上当前路径下的目录和文件FTP>dir,列出远程Linux FTP服务器上当前路径下的目录和文件(同上)FTP>mkdir  [foldname],在远程Linux FTP服务器上当前路径下建立指定目录FTP>rmdir  [foldname],删除远程Linux FTP服务器上当前路径下的指定目录FTP>cd  [foldname],更改远程Linux FTP服务器上的工作目录FTP>delete  [filename],删除远程Linux FTP服务器上指定的文件FTP>rename  [filename]  [newfilename],重命名远程Linux FTP服务器上指定的文件FTP>close,从远程Linux FTP服务器断开但保留FTP命令参数提示网址:yii666.com<文章来源地址:https://www.yii666.com/blog/144054.htmlFTP>disconnect,从远程Linux FTP服务器断开但保留FTP命令参数提示(同上)FTP>bye,结束和远程Linux FTP服务器的连接FTP>quit,结束和远程Linux FTP服务器的连接(同上)FTP>!,直接从远程Linux FTP服务器进入到本地shell中FTP>exit,(接上步)从本地shell环境中返回到远程Linux FTP服务器环境下FTP>!ls,列出本地机器上当前路径下的目录和文件FTP>lcd  [foldname],更改本地机器的工作目录FTP>?,显示ftp命令说明网址:yii666.comFTP>help,显示ftp命令说明(同上)PS:最好将要进行传输的文件或文件夹的权限设置成775777

参考:

  • https://blog.csdn.net/qq_45031509/article/details/128016689
  • https://blog.csdn.net/mshxuyi/article/details/119935069

相关文章:

ubuntu篇---配置FTP服务,本机和docker安装

ubuntu篇---配置FTP服务 一、本机安装1.1 安装FTP服务器软件1.2 配置FTP服务 二、docker安装&#xff08;我用的这个&#xff09;2.1 创建 目录2.2 启动脚本2.3 访问2.4 如何创建一个新的用户2.5 测试2.6 使用 一、本机安装 1.1 安装FTP服务器软件 ubuntu安装vsftp sudo apt…...

SpringBoot中properties、yml、yaml的优先级

原理 配置优先级低的会先加载然后会被配置优先级高的覆盖 验证 创建SpringBoot项目&#xff08;网址&#xff09; 在resource目录下创建application.properties、application.yml、application.yaml文件 运行 结论 优先级顺序&#xff1a; properties>yml>yaml...

SHELL 基础 SHELL注释 及 执行SHELL脚本的四种方法

SHELL 脚本编写规范 &#xff1a; 脚本开头 &#xff1a; # 脚本第一行 &#xff1a; #! /bin/bash 或 #!/bin/sh &#xff08; 脚本解释器 &#xff09; # 程序段开头需要加 版本版权信息 &#xff0c;例如 &#xff1a; # Date 创建日期 # Author : 作者 # …...

【Spring】深入探索 Spring AOP:概念、使用与实现原理解析

文章目录 前言一、初识 Spring AOP1.1 什么是 AOP1.2 什么是 Spring AOP 二、AOP 的核心概念2.1 切面&#xff08;Aspect&#xff09;2.2 切点&#xff08;Pointcut&#xff09;2.3 通知&#xff08;Advice&#xff09;2.4 连接点&#xff08;Join Point&#xff09; 三、Sprin…...

LocalDate介绍和使用

1.什么是 LocalDate&#xff1f; 在我们开始之前&#xff0c;让我先简单介绍一下 LocalDate。它是 Java 8 中引入的日期类&#xff0c;用于表示不带时区信息的日期。也就是说&#xff0c;它专注于日期&#xff0c;并忽略了具体的时间。这样&#xff0c;我们就可以专心解决那些…...

三、使用注解形式开发 Spring MVC程序

文章目录 一、环境准备二、配置 web.xml三、配置 SpringMVC-Servlet.xml &#xff0c;这里不再使用之前那种写法&#xff0c;直接采用注解配置&#xff0c;引入注解支持&#xff0c;配置视图解析器四、编写 Controller&#xff08;Controller 和 RequestMapping 注解说明&#…...

【Go】常见的四个内存泄漏问题

Goroutine没有顺利结束 1、这里更多的是由于channelforselect导致的&#xff0c;错误的写法导致了发送者或接收者没有发现channel已经关闭&#xff0c;任务已经结束了&#xff0c;却仍然在尝试输入输出https://geektutu.com/post/hpg-exit-goroutine.html Map的remove方法不会…...

【LeetCode-简单】剑指 Offer 29. 顺时针打印矩阵(详解)

题目 输入一个矩阵&#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#xff1a;matrix [[1,2,3,4],[5,6,7,8],[9,10,1…...

TOMCAT基础

tomcat是一个基于Java开发的&#xff0c;开放源代码的web应用服务器。它可以解析html页面中的java代码&#xff0c;执行动态请求&#xff0c;实现动态页面。核心功能是将收到的http请求处理并转发给适当的servlet来处理&#xff0c;然后将响应返回给客户端。 优点 1&#xff0c…...

自动化集装箱码头建设指南

1 总则 1.0.1 为规范和指导自动化集装箱码头建设&#xff0c;提高自动化集装箱码头建设和装卸自动化应用水平&#xff0c;做到技术先进、经济合理、安全可靠、高效节能、绿色环保&#xff0c;制定本指南。 1.0.2本指南适用于新建、改建和扩建自动化集装箱码头的设计&#xff0…...

为什么要用redis

高性能 就是把你一些复杂操作耗时查出来的结果(用了600ms)&#xff0c;如果确定后面不咋变了&#xff0c;然后但是马上还有很多读请求&#xff0c;那么直接结果放缓存(6ms)&#xff0c;后面直接读缓存就好了。 这样&#xff0c;性能就提升了100倍 高并发 说白了就是&#xf…...

QT qmake解析

...

【TypeScript】this指向,this内置组件

this类型 TypeScript可推导的this类型函数中this默认类型对象中的函数中的this明确this指向 怎么指定this类型 this相关的内置工具类型转换ThisParameterType<>ThisParameterType<>ThisType TypeScript可推导的this类型 函数中this默认类型 对象中的函数中的this…...

MySQL 深度分页优化

MySQL 深度分页优化 理解总结&#xff1a; 分页使用limit &#xff0c;前提是要排序好的数据&#xff0c;这时候&#xff0c;就推荐使用带索引的字段排序&#xff0c;因为索引是天然有序的&#xff0c;不需要像是无序的字段一样&#xff0c;全表扫描&#xff0c;如果太大的话…...

如何在CSS中水平居中一个元素?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用 margin: 0 auto⭐ 使用 Flexbox 布局⭐ 使用绝对定位和负边距⭐ 使用表格布局⭐ 使用网格布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅…...

生信豆芽菜-ESTIMATE预测免疫评分

网址&#xff1a;http://www.sxdyc.com/immuneEstimateScore 一、ESTIMATE预测免疫评分介绍 ESTIMATE&#xff08;Estimation of STromal and Immune cells in MAlignant Tumor tissues using Expression data&#xff09;是一种用于预测肿瘤免疫评分的计算方法。它通过分析基因…...

分享一颗能用在TYPE-C接口取电协议芯片LDR6328Q,方便好用

芯片功能&#xff1a;诱导PD充电器输出最大功率&#xff0c;支持最大诱骗20V电压。支持协议&#xff1a;PD/QC/三星AFC/华为SCP等主流快充协议 芯片封装&#xff1a;QFN16,SOP8多封装选择 芯片应用&#xff1a; 桶形连接器替换&#xff08;BCR&#xff09;&#xff0c;USB-A和…...

【java】Java与SQLite3数据库类型之间对应关系

引 在开发应用程序时&#xff0c;经常需要将数据存储到数据库中。SQLite3 是一种轻量级的嵌入式数据库&#xff0c;广泛应用于移动设备和嵌入式系统。在使用 SQLite3 数据库时&#xff0c;了解 Java 数据类型与 SQLite3 数据库类型之间的对应关系非常重要&#xff0c;以便正确…...

ELK常见部署架构以及出现的问题及解决方案

ELK常见部署架构以及出现的问题及解决方案 ELK 已经成为目前最流行的集中式日志解决方案&#xff0c;它主要是由Beats 、Logstash 、Elasticsearch 、 Kibana 等组件组成&#xff0c;来共同完成实时日志的收集&#xff0c;存储&#xff0c;展示等一站式的解决方案。本文将会介…...

windows使用vscode配置java开发环境

安装JDK 下载windows版本的JDK&#xff0c;解压到一个目录 openJDK下载地址&#xff1a;Archived OpenJDK GA Releases (java.net) 下载 Microsoft Build of OpenJDK | Microsoft Learn 添加环境变量&#xff1a;JAVA_HOME&#xff1a;JDK的解压目录 编辑PATH&#xff1a;…...

终极FanControl风扇控制指南:如何彻底告别Windows风扇噪音与过热烦恼

终极FanControl风扇控制指南&#xff1a;如何彻底告别Windows风扇噪音与过热烦恼 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitH…...

MultiHighlight:用智能色彩标记彻底改变你的代码阅读体验

MultiHighlight&#xff1a;用智能色彩标记彻底改变你的代码阅读体验 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 你是…...

实战指南:如何构建企业级Chrome自动化测试环境

实战指南&#xff1a;如何构建企业级Chrome自动化测试环境 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing Chrome for Testing 是Google专为浏览器自动化测试设计的专业解决方案&#xff0c;解决了传统Chrome版…...

工业级字符识别实战:C#结合YOLO+Tesseract实现药品批号与电子元件丝印精准校验

在工业自动化生产线上&#xff0c;字符识别一直是质量管控的核心环节。从药品包装的批号、有效期到电子元件的丝印型号、批次号&#xff0c;每一个字符的错误都可能导致严重的产品质量问题甚至安全事故。 传统的OCR方案在面对工业场景时往往力不从心&#xff1a;字符倾斜、背景…...

ML模型服务化落地实战:从Notebook到高稳定生产环境

1. 项目概述&#xff1a;这不是一次“部署上线”演示&#xff0c;而是一场真实世界的ML交付实战复盘“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着三个关键信号&#xff1a;Notebook是起点&#xff0c;不是终点&#xff1b;Produ…...

SAP ABAP实战:用BAPI_PO_CREATE1创建采购订单时,如何彻底隐藏PBXX条件类型?

SAP ABAP实战&#xff1a;彻底隐藏BAPI_PO_CREATE1中的PBXX条件类型 最近在实施一个外协加工采购项目时&#xff0c;遇到了一个让人头疼的问题&#xff1a;使用BAPI_PO_CREATE1创建采购订单时&#xff0c;系统总是自动生成价格为0的PBXX条件类型行。这看起来像是个小问题&…...

告别虚拟机!用WSL2自带的SSH服务连接VSCode远程开发(附端口冲突解决)

告别虚拟机&#xff01;用WSL2自带的SSH服务连接VSCode远程开发&#xff08;附端口冲突解决&#xff09; 在Windows系统上进行Linux开发时&#xff0c;传统虚拟机方案往往显得笨重且资源占用高。WSL2的出现彻底改变了这一局面&#xff0c;它提供了近乎原生的Linux内核体验&…...

QQ音乐格式转换终极指南:如何3步将.qmc文件转为MP3/FLAC

QQ音乐格式转换终极指南&#xff1a;如何3步将.qmc文件转为MP3/FLAC 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾在QQ音乐下载了心爱的歌曲&#xff0c;却发现它…...

重塑AI代理的数据智能:Wren AI如何构建开放上下文层

重塑AI代理的数据智能&#xff1a;Wren AI如何构建开放上下文层 【免费下载链接】WrenAI Turn any AI Agents into world-class data analysts through the open context layer that gives AI agents grounded, governed memory, context, SQL across 20 data sources, that he…...

BarrageGrab:零依赖微服务架构的跨平台直播弹幕一体化采集系统

BarrageGrab&#xff1a;零依赖微服务架构的跨平台直播弹幕一体化采集系统 【免费下载链接】BarrageGrab 抖音快手bilibili直播弹幕wss直连&#xff0c;非系统代理方式&#xff0c;无需多开浏览器窗口 项目地址: https://gitcode.com/gh_mirrors/ba/BarrageGrab 在直播电…...