利用Samba实现局域网跨平台共享文件

又到了一年一折腾linux的时候了,

今年重装了linux,发行版:debian13(trixie)。

对于虚拟机,今年采用kvm管理方案。

发现想要实现宿主机和虚拟机之间的文件共享比较麻烦,特别是装有多台虚拟机的时候,于是ai了一下,建议使用samba共享文件,开搞!!!!!

安装配置宿主机samba服务

安装samba服务

bash 复制代码
apt update

apt install samba

添加用于共享时登陆的samba用户(前提是linux系统用户)

这里添加一个不能登陆系统的用户 sambauser

bash 复制代码
useradd -s /usr/sbin/nologin sambauser

配置samba配置文件

bash 复制代码
vim /etc/samba/smb.conf

在底部添加要共享的文件夹信息

bash 复制代码
[share]
   comment = Shared folder
   path = /home/mike/data/share
   browseable = yes
   guest ok = yes
   read only = no
   create mask = 0777
   directory mask = 0777
   valid users = samba,mike,sambauser
   writable = yes
   available = yes
  • [share]

    这是共享目录的名称。当其他计算机(如 Windows)访问这台 Samba 服务器时,看到的共享文件夹名字就是 share。

  • comment = Shared folder

    这是共享目录的描述或备注。在网络邻居中,这个描述可能会显示在共享名旁边,帮助用户了解这个共享的用途。

  • path = /home/mike/data/share

    这是共享目录在 Linux 服务器上的实际物理路径。Samba 会将这个路径下的文件和文件夹共享出去。

  • browseable = yes

    表示这个共享目录在网络邻居或文件浏览器中是可见的 。如果设置为 no,用户仍然可以通过完整路径(如 \\服务器IP\share)访问,但它不会出现在浏览列表中。

  • guest ok = yes

    允许访客(匿名)访问。这意味着用户无需提供有效的用户名和密码即可连接到此共享。

  • read only = no

    表示共享不是只读的 ,即允许写入。这与 writable = yes 的效果相同。

  • create mask = 0777

    当用户通过 Samba 在此共享中创建新文件 时,该文件的权限将被设置为 0777(即所有用户都有读、写、执行权限)。

  • directory mask = 0777

    当用户通过 Samba 在此共享中创建新目录 时,该目录的权限将被设置为 0777。

  • valid users = samba,mike,sambauser

    指定了允许访问 此共享的用户列表。只有 samba、mike 和 sambauser 这三个用户(需要在 Samba 中创建)才能访问。

    • 注意 :此参数与 guest ok = yes 同时存在时,行为可能因 Samba 版本和全局配置而异。通常 valid users 会限制访问,但 guest ok = yes 可能会允许匿名用户以访客身份(通常是 nobody 用户)访问,这可能不是你想要的效果。
  • writable = yes

    与 read only = no 作用相同,表示允许对共享目录进行写入操作。

  • available = yes

    表示这个共享定义是有效的 ,Samba 服务会加载并使用它。如果设置为 no,即使配置了也不会生效。

重启samba服务

bash 复制代码
systemctl restart smbd

安装kvm GUI管理工具

bash 复制代码
apt update

apt install virt-manager

安装win10虚拟机

打开虚拟机管理器,安装需要的系统,比如windows10

打开创建虚拟机按钮

到这里,点击完成,根据提示操作按钮就好。

win10访问linux samba共享文件夹

方式一、通过文件管理器访问

地址栏输入\\ip回车即可访问,输入刚才配置的账号密码

方式二、通过win+R访问

回到宿主机刷新能看到刚才新建的文件

相关推荐
程序员-Benothing2 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
‎ദ്ദിᵔ.˛.ᵔ₎3 小时前
linux 进程信号 (上)
linux·服务器
15Moonlight3 小时前
Linux网络(02):Socket 编程 UDP
linux·网络·udp
wuminyu3 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle4 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
DongQiShanRen4 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方4 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip
pride.li4 小时前
Python 安装
linux·python·ubuntu
笔墨登场说说4 小时前
centos 8 使用 kafka_2.13-4.3.1.tgz 安装kafka
linux·kafka·centos
luo_guibin4 小时前
Linux系统下OpenSSL升级全流程,新旧版本切换
linux·运维·服务器