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

相关推荐
打不了嗝 ᥬ᭄14 小时前
NAT,代理服务,内网穿透,DNS
linux·网络·网络协议
赴遥14 小时前
[出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)]
ubuntu·win11·wsl2
凯子坚持 c14 小时前
基于VMware与CentOS 7的Hadoop集群部署全景指南
linux·hadoop·centos
硬核子牙15 小时前
存储核心:EXT文件系统
linux
isaki13715 小时前
arm day1
linux·运维·arm开发
正午阳光下15 小时前
LINUX下好用的图形化界面串口助手cutecom
linux·cutecom
Dovis(誓平步青云)15 小时前
《场景化落地:用 Linux 共享内存解决进程间高效数据传输问题(终篇)》
linux·运维·服务器
LCG元15 小时前
实战:打造你的专属 Linux 工作环境(Oh My Zsh + 插件推荐)
linux
java_logo15 小时前
PERL Docker 容器化部署指南
linux·运维·docker·容器·eureka·centos·perl
敲上瘾15 小时前
C++ ODB ORM 完全指南:从入门到实战应用
linux·数据库·c++·oracle·db