Linux挂载linux/Windows共享目录实现方式

2025-09-30 01:50

本文主要是介绍Linux挂载linux/Windows共享目录实现方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地...

文件共享协议

NFS:

  • NFS 是一个由 Sun Microsystems 开发的协议,主要用于 Unix/Linux 系统之间的文件共享。
  • NFS 提供了一个透明的、无状态的客户端/服务器模型,使得客户端可以像访问本地文件一样访问网络上的文件。
  • NFS 通常在性能上优于 Samba,尤其是在处理大文件或大量文件时。
  • NFS 原生并不支持用户身份验证和访问控制,因此在安全性方面可能比 Samba 差一些。可以通过其他手段(如 Kerberos)来增强 NFS 的安全性。

Samba:

  • Samba 是一个开源的软件,它实现了 SMB/CIFS 协议,主要用于 Unix/Linux 系统和 Windows 系统之间的文件和打印服务共享。
  • Samba 提供了丰富的用户身份验证和访问控制功能,因此在安全性方面通常优于 NFS。
  • Samba 兼容性好,可以在各种不同的操作系统(包括 Windows、MAC OS X、Linux 等)之间共享文件和打印服务。

Linux环境作为服务端(NFS)

在服务器端安装 NFS

Ubuntu/Debian 系统中,可以使用以下命令安装 NFS:

sudo apt-get update
sudo apt-get install nfs-kernel-server

Centos/RHEL 系统中,可以使用以下命令安装 NFS:

sudo yum install nfs-utils

创建要共享的目录

创建一个名为 /shared 的目录:

sudo mkdir /shared

修改 NFS 配置文件

编辑 /etc/exports 文件,添加你想要共享的目录和允许访问的客户端 IP 地址。例如:

sudo vi /etc/exports

在文件中添加以下行(替换为你的客户端 IP 地址):

/shared 192.168.1.0/24(rw,sync,no_subtree_check)

意为192.168.1.0/24 网段的所有 IP 地址都可以读写 /shared 目录。

 exportfs -r

配置即时生效

exports参数

  • ro 只读访问
  • rw 读写访问
  • sync 所有数据在请求时写入共享
  • async nfs在写入数据前可以响应请求
  • secure nfs通过 1024 以下的安全 TCP/IP 端口发送
  • insecure nfs通过 1024 以上的端口发送
  • wdelay 如果多个用户要写入 nfs 目录,则归组写入(默认)
  • no_wdelay 如果多个用户要写入 nfs 目录,则立即写入,当使用 async 时,无需此设置
  • hide 在 nfs 共享目录中不共享其子目录
  • no_hide 共享 nfs 目录的子目录
  • subtree_check 如果共享 /usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)
  • no_subtree_check 不检查父目录权限
  • all_squash 共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录
  • no_all_squash 保留共享文件的 UID 和 GID(默认)
  • root_squash root 用户的所有请求映射成如 anonymous 用户一样的权限(默认)
  • no_root_squash root 用户具有共享根目录的完全管理访问权限
  • anonuid=xxx 指定 nfs 服务器 /etc/passwd 文件中匿名用户的 UID
  • anongid=xxx 指定 nfs 服android务器 /etc/passwbjjmeOrCgd 文件中匿名用户的 GID

注意

  • 当非root用户无法写入时、 可以使用 anonuid 与 anongid 参数、 设置为客户端非root用户的组id,或在客户端新建组将客户端用户加入组
  • 例如(/shared 172.17.38.44(rw,sync,anonuid=502,anongid=501) ),同时注意共享目录权限。

启动 NFS 服务

在 Ubuntu/Debian 系统中,你可以使用以下命令启动 NFS 服务:

sudo service nfs-kernel-server restart

在 CentOS/RHEL 系统中,你可以使用以下命令启动 NFS 服务:

sudo systemctl start nfs-server
sudo systemctl enable nfs-server

在客户端安装 NFS

在 Ubuntu/Debian 系统中,可以使用以下命令安装 NFS:

sudo apt-get update
sudo apt-get install nfs-comandroidmon

在 CentOS/RHEL 系统中,可以使用以下命令安装 NFS:

sudo yum install nfs-utils

在客户端挂载共享目录

创建一个挂载点/mnt/shared:

sudo mkdir /mnt/shared

可以使用以下命令将服务器的共享目录挂载到这个挂载点:

suwww.chinasem.cndo mount -t nfs server_ip:/shared /mnt/shared

替换 server_ip 为你的服务器 IP 地址。

创建完成,可以在客户端的 /mnt/shared 目录中查看和操作服务器的 /shared 目录。

Windows环境作为服务端(CIFS)

在 Windows 上创建共享目录

选择要共享的文件夹:

找到你想要共享的文件夹。这个文件夹可以位于你的系统盘或其他任何地方。

打开共享设置:

右键点击你想要共享的文件夹,然后选择“属性”。在弹出的窗口中,点击“共享”标签页。

设置共享:

在“共享”标签页中,点击“高级共享…”按钮。在弹出的窗口中,勾选“共享此文件夹”,然后在“共享名”文本框中输入你想要的共享名字。

设置权限:

点击“权限”按钮,将会弹出一个窗口,你可以在这里设置访问共享文件夹的用户的权限。可以选择“Everyone”然后在下面的权限设置中勾选“完全控制”,“更改”,和“读取”。

应用设置:

点击“确定”按钮关闭权限窗口,然后再次点击“确定”关闭高级共享窗口。最后,点击属性窗口下方的“关闭”按钮。

此时该文件夹已经被共享,可以在网络上的其他计算机上通过 \\电脑名或者IP地址\共享名 来访问这个文件夹。访问可能需要输入 Windows 用户名和密码。

在客户端安装 cifs-utils

在 Ubuntu/Debian 系统中,可以使用以下命令安装 cifs-utils:

sudo apt-get update
sudo apt-get install cifs-utils

在 CentOS/RHEL 系统中,可以使用以下命令安装 cifs-utils:

sudo yum install cifs-utils

创建挂载点

在 Linux 系统中创建一个名为/mnt/win_share 的目录作为挂载点:

sudo mkdir /mnt/win_share

挂载 Windows 共享目录

将 Windows 共享目录挂载到这个挂载点:

sudpythono mount -t cifs //windows_pc/shared_folder /mnt/win_share -o username=win_user,password=win_password

在上述命令中,将 windows_pc 替换为 Windows 电脑的 IP 地址或主机名,shared_folder 替换为共享文件夹的名称,win_userwin_password 替换为 Windows 用户名和密码。

创建完成,可以在 Linux 系统的 /mnt/win_share 目录中看到 Windows 共享目录的内容。

注意:

  • 如果你的 Windows 用户没有密码,可能需要在挂载命令中添加 guest 选项。
  • 如果你想在系统启动时自动挂载 Windows 共享目录,可以将挂载命令添加到 /etc/fstab 文件中。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持China编程(www.chinasem.cn)。

这篇关于Linux挂载linux/Windows共享目录实现方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1156100

相关文章

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco