利用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

    指定了允许访问 此共享的用户列表。只有 sambamikesambauser 这三个用户(需要在 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访问

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

相关推荐
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao7 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3109 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql