Ubuntu 使用 Samba 共享文件夹

Ubuntu 使用 Samba 共享 /test_shared 给 Windows 访问

适用:Ubuntu 20.04/22.04/24.04;Windows 10/11(同一局域网)

目标:在 Ubuntu 上创建并共享目录 /test_shared ,用 账号密码 从 Windows 访问、读写


一、准备环境

1)安装 Samba

bash 复制代码
sudo apt update
sudo apt install -y samba smbclient

2)创建共享目录 /test_shared

bash 复制代码
sudo mkdir -p /test_shared

如果你打算给某个用户提供读写权限,下文以 ubuntu 用户为例(替换成你的实际用户名也行)。

3)设置目录归属与权限

bash 复制代码
# 把目录所有者设置为 ubuntu(请按需替换成你的用户名)
sudo chown -R ubuntu:ubuntu /test_shared

# 允许拥有者/同组读写,目录可进入(X 会根据类型自动给目录执行位)
sudo chmod -R u+rwX,g+rwX /test_shared

二、创建 Samba 账号(与系统账号关联)

Samba 登录需要单独设置密码,但账号必须是系统里已存在的用户。

bash 复制代码
sudo smbpasswd -a ubuntu
  • 按提示输入并确认密码(可与系统密码不同)

三、配置 Samba 共享

编辑配置文件:

bash 复制代码
sudo nano /etc/samba/smb.conf

在文件 末尾 追加如下共享段(保持其他内容不变):

复制代码
[test_shared]
   comment = Test Shared Folder
   path = /test_shared
   browseable = yes
   read only = no
   guest ok = no
   valid users = ubuntu
   create mask = 0664
   directory mask = 0775

字段说明:

  • path:要共享的目录
  • guest ok = no:禁用来宾访问(更安全)
  • valid users = ubuntu:只允许 ubuntu 用户
  • create mask/directory mask:新建文件/目录默认权限

保存后校验配置并重启服务

bash 复制代码
testparm
sudo systemctl restart smbd

如果启用了 UFW 防火墙,放行 Samba:

bash 复制代码
sudo ufw allow 'Samba'
sudo ufw status

四、Linux 端自检(可选但推荐)

用本机 smbclient 测试共享是否可见、可登录:

bash 复制代码
# 列出可用共享
smbclient -L localhost -U ubuntu

# 连接共享(随后会提示输入刚设置的 Samba 密码)
smbclient //localhost/test_shared -U ubuntu

五、Windows 访问与映射网络盘

1)获取 Ubuntu 的 IP

在 Ubuntu 上:

bash 复制代码
ip a | grep -w inet

2)资源管理器访问

在 Windows 资源管理器地址栏输入:

复制代码
\\<Ubuntu_IP>\test_shared

例如:

复制代码
\\192.168.1.50\test_shared

弹出登录框后输入:

  • 用户名:ubuntu
  • 密码:刚才 smbpasswd -a ubuntu 设的 Samba 密码

3)映射为网络驱动器(可选)

  • 在"此电脑"上右键 → 映射网络驱动器
  • 选择盘符,例如 Z:
  • 文件夹填:\\192.168.1.50\test_shared
  • 勾选"登录时重新连接" → 完成

如果此前输错过凭据导致"拒绝访问",先清理旧凭据:

  • 控制面板 → 凭据管理器 → Windows 凭据:删除对应条目

  • 或命令行:

    bat 复制代码
    net use * /delete /y

相关推荐
M78佐菲4 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
骇客野人4 小时前
Redis 完整安装部署方案(Linux,分【源码编译】+【Docker】两种,推荐生产用源码,测试快速用 Docker)
运维
益达丫5 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
蓝速科技7 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
chicheese7 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky8 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
智能运维指南9 小时前
2026年ITSM系统怎么选?四款主流方案与五维评估模型
运维·itsm·嘉为蓝鲸
vortex59 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
我命由我123459 小时前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
骇客野人9 小时前
测试环境MySQL迁移Vastbase(海量数据库)完整改造与落地实施方案
运维·服务器