linux中文件服务器NFS和FTP服务
文件服务器
- NFS
- NFS介绍
- 配置nfs文件共享
- 服务端
- 客户端
- FTP
- ftp介绍
- FTP基础
- ftp主动模式
- ftp被动模式
- Vsftp 服务器简介
- vsftpd配置
- 安装vsftpd[ftp的服务端]
- 编辑配置文件
- 匿名用户设置
- 创建本地用户使用ftp服务
- 客户端操作
- 匿名用户登录
- 本地用户登录
- lftp服务
NFS
NFS介绍
文件系统级别共享(是NAS存储) --------- 已经做好了格式化,可以直接用。 速度慢比如:nfs,sambaNFS:Network File System 网络文件系统,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。#NFS 文件系统仅支持基于 IP 的用户访问控制,NFS 的客户端主要为Linux。
因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。
配置nfs文件共享
服务端
yum -y install nfs-utils rpcbind //下载nfs和rpc应用systemctl start nfs rpcbind //启动应用制作共享目录
添加硬盘
挂载
制作nfs文件共享
vim /etc/exports //编辑共享文件
/挂载目录 *(rw,no_root_squash,sync)参数解释:
ro:只读
rw:读写
sync:所有数据在请求时写入共享
root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash:使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限。允许访问的范围:
10.12.155.49 单个主机
10.12.155.0 | 10.12.155.* 网段主机
* 所有主机
客户端
yum -y install nfs-utils rpcbind //下载nfs和rpc应用systemctl start nfs rpcbind //启动应用挂载:mount -t nfs 服务端ip:挂载目录 /客户端挂载目录 //-t:挂载指定文件类型的设备分区开机自动挂载:vim /etc/fstab //开机自动挂载文件
服务端ip:挂载目录 /客户端挂载目录 nfs defaults 0 0
FTP
ftp介绍
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载、删除文件。FTP服务器端可以同时提供给多人共享使用。FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。FTP Server作用:提供文件共享服务,实现上传下载端口:
21号,建立tcp连接 默认端口
20号:传输数据
FTP基础
软件包: vsftpd
FTP端口: 控制端口:21/tcp
配置文件: /etc/vsftpd/vsftpd.conf
ftp主动模式
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输21端口建立连接
20端口传输数据
ftp被动模式
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
Vsftp 服务器简介
安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效
vsftpd配置
安装vsftpd[ftp的服务端]
yum install -y vsftpd //安装服务
systemctl start vsftpd //启动服务
systemctl enable vsftpd //设置开机自启动
FTP默认共享目录:/var/ftp
mkdir /var/ftp/upload //创建自己的共享目录touch /var/ftp/upload/test.txt //创建文件到共享目录chown ftp.ftp /var/ftp/* -R //修改根目录的属主与属组
重点:改变根目录的属主,如果不改变的话,只能访问,其他权限不能生效。
我们是以ftp用户的身份访问的,而默认的属主属组是root。修改完配置之后需要重启完服务才能生效
还需要从新从客户端登陆,否则修改后的配置看不到效果。
编辑配置文件
匿名用户设置
anon_upload_enable=YES //允许匿名用户上传文件
anon_mkdir_write_enable=YES //允许匿名用户创建目录
anon_other_write_enable=YES //允许匿名用户对目录进行操作,为新添加配置
anon_umask=022 //匿名用户上传文件的umask码,不添加这个匿名用户上传文件后不能下载systemctl restart vsftpd //重启ftp服务
创建本地用户使用ftp服务
创建用户useradd 用户名
给用户添加密码 passwd 用户名vim /etc/vsftpd/vsftpd.conf //ftp配置文件 anonymous_enable=NO //将允许匿名登录关闭
#anon_umask=022 //匿名用户所上传文件的权限掩码
#anon_upload_enable=YES //允许匿名用户上传文件
#anon_mkdir_write_enable=YES //允许匿名用户创建目录
#anon_other_write_enable=YES //是否允许匿名用户有其他写入权(改名,删除,覆盖)chroot_list_enable=YES //启用限制登陆用户在主目录里面
chroot_list_file=/etc/vsftpd/chroot_list //限制登陆的用户在这个文件列表中,一行一个用户
allow_writeable_chroot=YES //允许限制的用户对目录有写权限
local_root=/home/zhangsan //设置本地用户的FTP根目录,一般为用户的家目录
local_max_rate=0 //限制最大传输速率(字节/秒)0为无限制systemctl restart vsftpd //重启ftp服务
客户端操作
匿名用户登录
yum -y install lftp //安装lftp服务lftp ip地址
本地用户登录
yum -y install lftp //安装lftp服务lftp 用户名:密码@ip地址 //登录方式一lftp ip地址 -u 用户名 回车输入密码 //登录方式二
lftp服务
get 下载单个文件
mget 下载多个文件
mirror 下载目录
put 上传单个文件
mput 上传多个文件
mirror -R 上传目录
mkdir 创建目录
rm -rf 删除文件或者目录
相关文章:
linux中文件服务器NFS和FTP服务
文件服务器 NFSNFS介绍配置nfs文件共享服务端客户端 FTPftp介绍FTP基础ftp主动模式ftp被动模式 Vsftp 服务器简介vsftpd配置安装vsftpd[ftp的服务端]编辑配置文件匿名用户设置创建本地用户使用ftp服务 客户端操作匿名用户登录本地用户登录lftp服务 NFS NFS介绍 文件系统级别共…...

茶室茶楼计时计费软件,软件中的商品管理计时操作教程
一、前言 茶室在营业的时候,不但需要计时间,同时还需要管理商品入库出库库存等管理。这就需要一款实用的操作简单的管理软件。 下面以 佳易王茶社计时计费软件V18.0为例说明,其他版本可以参考本教程。 软件下载或技术支持可以点击最下方官…...

从入门到精通:掌握Spring IOC/DI配置管理第三方bean的技巧
IOC/DI配置管理第三方bean 1.1 案例:数据源对象管理1.1.1 环境准备1.1.2 思路分析1.1.3 实现Druid管理步骤1:导入druid的依赖步骤2:配置第三方bean步骤3:从IOC容器中获取对应的bean对象步骤4:运行程序 1.1.4 实现C3P0管理步骤1:导入C3P0的依赖步骤2:配置第三方bean步骤3:运行程…...

Flink的容错机制
容错机制 容错:指出错后不影响数据的继续处理,并且恢复到出错前的状态。 检查点:用存档读档的方式,将之前的某个时间点的所有状态保存下来,故障恢复继续处理的结果应该和发送故障前完全一致,这就是所谓的检…...
GO设计模式——11、装饰器模式(结构型)
目录 装饰器模式(Decorator Pattern) 装饰器模式的核心角色: 优缺点 使用场景 代码实现 装饰器模式(Decorator Pattern) 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功…...

全志V3s之U-Boot
1、安装交叉编译器: ARM交叉编译器的官网:交叉编译器 a、使用wget下载: wget https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xzb、解…...
【华为OD】依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列
题目描述主管期望你来实现英文输入法单词联想功能需求如下:依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀注意1.英文单词联想时,区分大小写2.缩略形式如"dont",判定…...

CentOS 7.9安装宝塔面板,安装gitlab服务器
docker安装方式比较慢,安装包1.3GB 安装后启动很慢 docker logs q18qgztxdvozdv_gitlab-ce-gitlab-1 docker ps docker exec -it q18qgztxdvozdv_gitlab-ce-gitlab-1 sh cd /etc/gitlab cat initial_root_password 软件商店安装方式,失败了2023.12…...

AutoGen多代理对话项目示例和工作流程分析
在这篇文章中,我将介绍AutoGen的多个代理的运行。这些代理将能够相互对话,协作评估股票价格,并使用AmCharts生成图表。 我们创建对话的目的是要求代理分析特定公司的股票价格,并制作股票价格图表。 为了实现这一目标,…...

多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测
多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现RIME-CNN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现RIME-CNN-…...

使用高防IP防护有哪些优势
高防IP是针对互联网服务器在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠。高防IP相当于搭建完转发的服务器。 高防IP有两种接入方式&a…...
android-xml语法
xml解析器 Android的XML文件语法是由Android系统中的解析器解析的。具体来说,Android使用了一个名为"Android Asset Packaging Tool (AAPT)"的工具来解析和处理XML文件。AAPT负责将XML文件编译为二进制格式,并在构建过程中将其打包到Android应…...

【银行测试】第三方支付平台业务流,功能/性能/安全测试方法...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、第三方支付平台…...
全志V3s之显示当前文件路径
新移植的kernel和根文件系统,其终端显示只有一个#号,不方便查看,更改以下配置,使得可以显示全路径。修改如下: export PS1[\u\h \w]\$这个是即时生效的,所以如果要重启或者重新打开窗口也生效的话就要把这…...
小程序跳转tabbar,tabbar页面不刷新
文章地址:12.小程序 之切换到tabBar页面不刷新问题_360问答 解决办法备份: wx.switchTab:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 wx.reLaunch:关闭所有页面,打开到应用内的某个页面。 wx.reLa…...

在SpringData JPA 中实现对持久层的操作
1.导入依赖 hibernate 这个依赖自带实现JPA接口 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><depen…...
C++ SEH结构化异常捕获处理(双平台支持 Linux、Windows)。
测试: try_ctor();try_call([](){printf("1111111111111111111111\r\n");int* p NULL;*p 100;throw 1;// try_eeh();}, [](){printf("2222222222222222222222\r\n");}); 设置NULL指针P的值引发程式崩溃,可以被正确捕获࿰…...
jvm-sandbox-repeater 精简版部署之standalone模式
jvm-sandbox-repeater 仅仅提供了录制回放的能力,如果需要完成业务回归、实时监控、压测等平台,后面须要有一个数据中心负责采集数据的加工、存储、搜索,repeater-console提供了简单的demo示例;一个模块管理平台负责管理JVM-Sandb…...

【JavaWeb笔记】单选框,结合Servlet
各个部分的作用 jsp部分 form action"...":表单标签,供用户提交数据。内部的submit点击之后相当于是点action的URL input type"radio":输入类型为单选框。把name设置为一样的,这样效果上就是单选ÿ…...
Docker 与 Podman:揭示容器编排的最佳 25 大常见问题解答
让我们告诉你一件事。 这不仅仅是这两个强大平台之间的普通比较。 相反,我们分析并列出了有关 Docker 与 Podman 的最紧迫问题。 但这里有一件事——这些问题不仅被技术角度所包围。 我们还深入研究了业务环境,因为我们知道这不仅仅是关于代码。这是…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...