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

相关推荐
未来之窗软件服务1 分钟前
服务器运维(十七)web服务对比和选择——东方仙盟炼气期
运维·服务器·服务器运维·仙盟创梦ide·东方仙盟
木里先森15 分钟前
解决报错:/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·python
shizhan_cloud22 分钟前
IF 条件语句的知识与实践
linux·运维
池央23 分钟前
中小企业私有云存储的跨网访问解决方案:Nextcloud 与 CPolar 的协同部署
运维·服务器
郝学胜-神的一滴26 分钟前
Linux信号四要素详解:从理论到实践
linux·服务器·开发语言·网络·c++·程序人生
熊猫钓鱼>_>27 分钟前
TRAE在企业级工作流中的深度集成:构建高效统一的开发与运维体系
运维
赖small强29 分钟前
【Linux驱动开发】DDR 内存架构与 Linux 平台工作机制深度解析
linux·驱动开发·ddr·sdram·ddr controller
阿干tkl33 分钟前
CentOS Stream 8 网络绑定(Bonding)配置方案
linux·网络·centos
Leon-Ning Liu35 分钟前
【系列实验二】RAC 19C集群:CentOS 7.9 原地升级至 Oracle Linux 8.10 实战笔记
linux·数据库·oracle·centos
大聪明-PLUS40 分钟前
C++编程中存在的问题
linux·嵌入式·arm·smarc