linux实现远程文件夹共享-samba

news2024/11/24 10:27:01

目录

  • 问题描述
  • Samba
  • 如何挂载
    • 常用参数
    • 临时挂载实例
    • 一种长期挂载方法(已失败,仅供参考)
    • 查看挂载
    • 取消挂载
      • umount失败

问题描述

我的代码需要访问存在于两个系统(win和linux)的文件夹,我不是文件夹的创建者,只需要对它们进行读取,不做写操作。

Samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

所以要在win系统,装一个samba,linux已经有了(mount --version可查看版本)。

如何挂载

常用参数

-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-o rw:用可读写模式挂上
dir_mode和file_mode:指定文件夹和文件的权限,三位数字。如果修改了,会覆盖默认的755

mount参数参考:
https://blog.51cto.com/zkxfoo/1758529

临时挂载实例

mount -t cifs -o username=xxx,password=xxx,rw,dir_mode=0777,file_mode=0777  //ip/远程路径 /本地路径

这句命令表示将 ip/远程文件夹路径 挂载到 /本地路径,那么访问本地路径就可以看到远程文件夹下的内容。

这样只能临时挂载,每次开启xshell连接时都会找不到(目标文件夹,ls会卡死)

一种长期挂载方法(已失败,仅供参考)

  1. 修改 /etc/fstab
    格式:欲挂载位置\t本地位置\t文件系统种类(这里是cifs,是windows smb的)\t其他参数(如用户名、密码、挂载后的权限等)\t0(转储频率:0:从不备份 1:每日备份2:每隔一天备份)\t0(自检次序:0不自检,1首先自检,通常只能被/使用,2等数字为1的自检完成后,再进行自检)
    在这里插入图片描述
    最后三行是挂载命令,第一列是//ip/远程路径 ,第二列是/本地路径,第三列是cifs,第四列是defaults,username=用户名,password=密码,rw,dir_mode=0777,file_mode=0777,和前面一样;后两列可以留0

  2. 生效:重启服务器或者mount -a -t cifs
    -a 自动挂载所有(/etc/fstab文件中)支持自动挂载的设备。这里会挂载上之前没有挂载的东西。-t 指定类型

但是关闭xshell再次启动后,还是du会卡。很可能是因为某些原因挂载失败了。
可以用 strace 命令(如df\du\ls之类的)看是卡在哪一步了

这个方法不行,我这个服务器没有systemctl(替换为service XXX restart,提示找不到该服务)
service --status-all 可以查看本机所有服务,也确实没有proc*这个服务。

很可能是隔一段时间就失败了(没关xshell也卡了ls,cd,df等等),所以需要的时候,请临时挂载,不要改文件/etc/fstab!!!!

如果真的卡死了,先用root登录本机,然后kill掉卡住的进程,接着umount挂载位置(尤其是远程连接的,不确定的话先用trace诊断),可能需要-fl来强制去掉挂载,然后去改/etc/fstab(如果改动了,再用mount -a生效)。

查看进程号
ps -ef | grep 命令
第二列时pid,用kill -s 9 pid可以结束进程。需要root权限
在这里插入图片描述

最好临时挂载。

查看挂载

列出磁盘使用情况:df

取消挂载

umount 本地挂载路径

使用被挂载的路径也可以,但是如果用本地路径就必须是精确的,不能是父级文件夹

umount失败

那就等一下。
-f是强制卸载(在无响应的NFS系统的情况下),-l 隔离文件系统后,全部清除

umount -fl 本地挂载路径

在这里插入图片描述
上面这样提示的话,此时该文件夹可能会有问题,进文件夹后ls/ll等无反应,而且root也无法删除
fuser -k 是杀死访问指定文件的所有进程
在这里插入图片描述

此时需要等一会儿,再次umount这个文件夹。然后权限就正常了,可以删除了。

fuser用法
用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
在这里插入图片描述

格式:fuser 选项 参数
-a:显示命令行中指定的所有文件;
-k:杀死访问指定文件的所有进程;
-i:杀死进程前需要用户进行确认;
-l:列出所有已知信号名;
-m:指定一个被加载的文件系统或一个被加载的块设备;
-n:选择不同的名称空间;
-u:在每个进程后显示所属的用户名。
-x 与 -c 或 -f 连用,报告除标准 fuser 输出以外的可执行的和可载入的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据】-- 创建 Paimon 外部表

如今,在数据湖三剑客(delta lake、hudi、iceberg)之上,又新出一派: apache paimon。我们恰好在工作中遇到,以下介绍在 dataworks 上,使用 maxcompute odps sql 创建 apache paimon 外部表的一些…

不可不知!AI大模型的力量超乎你的想象!

AI大模型是通过深度学习算法和人工神经网络训练出的具有庞大规模参数的人工智能模型。这些模型使用大量的多媒体数据资源作为输入,并通过复杂的数学运算和优化算法来完成大规模的训练,以学习和理解到输入数据的模式和特征。 想象一下,在一个…

【C++】string 类

1. 标准库中的string类 注意: 1. string是表示字符串的字符串类 2. 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。 比特就业课 3. string在底层实际是:basic_string模板类的别名,typedef b…

知识图谱与LLMs:微调 VS RAG、LLM的局限性以及如何克服

原文地址:Knowledge Graphs & LLMs: Fine-Tuning Vs. Retrieval-Augmented Generation 2023 年 6 月 6 日 GitHub:https://github.com/neo4j/NaLLM 大型语言模型 (LLM) 的第一波炒作来自 ChatGPT 和类似的基于网络的聊天机器人,相信在…

国货当自强,亿道3款手持新品同步上市

深圳市亿道信息股份有限公司是国内知名的加固型移动计算机提供商,同时也是国内较大的行业定制及终端产品方案公司之一。 过去我们一直专注于平板电脑集成RFID射频识别、电子标签技术的研发生产与销售,以成熟的平板电脑制造技术,为客户提供RF…

重学SpringBoot3-日志Logging

重学SpringBoot3-日志Logging 引言默认日志配置日志门面如何实现默认配置 自定义日志配置日志级别日志分组日志格式日志输出自定义 Logback 配置切换日志框架 日志使用方式一:LoggerFactory 获取Logger对象方式二:引入 lombok 总结 引言 日志记录是任何…

记录一则 线上域名证书更新及cdn证书更新

本篇为阿里云免费证书更新记录。 登录阿里云账号 搜索数字证书管理服务管理控制台 点击创建证书 输入你的域名 填写相关信息(注:域名验证方式选择文件验证) 等待审核通过(时间不久,一般为半小时内) …

RabbitMQ(三):AMQP协议

目录 1 AMQP协议1.1 AMQP协议介绍1、AMQP是什么2、消息代理中间件的职责 1.2 AMQP 0-9-1模型1、AMQP的工作过程2、交换器和交换器类型3、队列队列属性队列名称队列持久化 1.3 几个概念1、绑定2、消费者3、消息确认4、预取消息5、消息属性和有效载荷(消息主体&#x…

leetcode 经典题目42.接雨水

链接:https://leetcode.cn/problems/trapping-rain-water 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 思路分析 首先,我们需要遍历数组,对于每个元素&am…

探秘C语言:如何轻松求解正整数公因子个数?

本篇博客会讲解力扣“2427. 公因子的数目”的解题思路,这是题目链接。 本题的思路是: 由于a和b公因子的个数就是a和b的最大公约数的因子的个数,所以我们需要思考以下2个问题: 如何求解最大公约数?如何求解正整数的因…

性能测试总结 —— 基础理论篇!

随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注。但是一提到性能测试,很多人就直接连想到Loadrunner。认为LR就等于性能测试&a…

事件流、事件捕获、事件冒泡、事件委托

一、事件流 事件流指的是事件完整执行过程中的流动路径,分为捕获阶段、冒泡阶段。如上图 二、事件捕获 当一个元素的事件被触发时,会从DOM的根元素开始,依次调用同名事件(从外到里,从父到子)。 DOM.addEve…

【MySQL】数据库设计

目录 数据库设计基本任务 软件项目开发周期中数据库设计数据库设计的基本步骤解释需求分析需求分析的三个步骤:1.需求调查:2.分析数据字典内容定义数据的方法案例 3. 评审 概念结构设计概念模型概念结构设计E-R图概念模型组成元素:关系解释案例分析 逻辑…

网络安全: Kali Linux 进行 SSH 渗透与防御

目录 一、实验 1.环境 2.nmap扫描目标主机 3.Kali Linux 进行 SSH 渗透 3.Kali Linux 进行 SSH 防御 二、问题 1.SSH有哪些安全配置 一、实验 1.环境 (1)主机 表1 主机 系统版本IP备注Kali Linux2022.4 192.168.204.154(动态&…

基于springboot+vue的农商对接系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

110. 平衡二叉树【简单】

110. 平衡二叉树【简单】 题目描述: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:r…

Vivado HLS学习笔记

任意精度的数据类型 u 代表 unsigned&#xff0c;fixed代表定点数据&#xff0c;即常数 采用任意精度的数据类型可以使用更少的资源&#xff0c;硬件友好性 数据类型定义在 header file 中 表示任意进制 ap_int<6> a("101010",2); //二进制数据101010 ap_in…

DR模式下部署LVS负载均衡集群的详细原理

目录 一、LVS-DR模式 1、基本原理 2、数据包流向分析 二、LVS-DR中的ARP问题 三、LVS-DR 特点 3.1 DR模式的特点 3.2 LVS-DR的优缺点 四、RS设置lo:0而不设置ens33:0的原因 一、LVS-DR模式 1、基本原理 Director Server作为群集的访问入口&#xff0c;但不作为网关使…

【C++实战项目】Date日期类 --- 运算符重载的深入探索

&#x1f4f7; 江池俊&#xff1a;个人主页 &#x1f525; 个人专栏&#xff1a;✅C那些事儿 ✅Linux技术宝典 &#x1f305; 此去关山万里&#xff0c;定不负云起之望 文章目录 引言一、为什么需要运算符重载&#xff1f;二、日期类的实现1. 基本框架2. 预备工作3. Date 类…

【MySQL】数据库的操作(1)

【MySQL】数据库的操作&#xff08;1&#xff09; 目录 【MySQL】数据库的操作&#xff08;1&#xff09;创建数据库数据库的编码集和校验集查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响数据库的删除 数据库的备…