Ubuntu20.04安装和配置Samba实现Win11下共享文件夹

Samba是在Linux和UNIX系统上实现 SMB / CIFS 协议的开源软件,主要用于局域网内的文件共享和打印服务。Samba通过SMB/CIFS协议实现跨平台资源共享,支持匿名用户和本地用户访问共享目录,客户端主要为Windows系统。其核心进程包括:

  1. ‌smbd‌:负责共享目录权限控制、文件传输(TCP端口139/445)。
  2. ‌nmbd‌:基于 NetBIOS 协议进行主机名解析(UDP端口137/138)。

sambd安装及配置

1.安装sambd:

bash 复制代码
# 更新软件包列表
sudo apt update

# 安装 Samba 服务
sudo apt-get install samba samba-common

# 检查安装是否成功,出现active (running)表示已启动服务
sudo systemctl status smbd nmbd

2.创建共享文件夹

bash 复制代码
mkdir /home/my_name/win-share
sudo chmod 777 /home/my_name/win-share

3.修改samba配置文件

bash 复制代码
#备份
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

#编辑
sudo vim /etc/samba/smb.conf

文件末尾输入:

bash 复制代码
[share]
    comment = Shared folder between Ubuntu and Windows
    path = /home/my_name/win-share
    browsable = yes
    writable = yes
    valid users = my_name
    force user = my_name
    force group = my_name
    available = yes
    read only = no
    guest ok = no
;    public = yes
    create mask = 0777
    directory mask = 0777

share:Windows 中显示的共享名称。

comment:共享描述

path:共享目录的绝对路径

browsable:是否允许在 Windows 网络中被发现

writable:是否允许用户对共享目录进行写入操作(创建 / 修改 / 删除文件)

valid users:限制只有指定用户可以访问该共享,多个用户用逗号分隔(如user1,user2)

force user:强制将所有访问该共享的操作都以用户的身份执行

force group:强制将所有访问该共享的操作归属到用户组

available:该共享资源是否可用

read only:与writable作用类似,no表示关闭只读模式(允许写入),通常与writable = yes配合使用。

guest ok:是否允许匿名访问

public:等价于guest ok(注释未使用)

create mask:定义在共享目录中新建文件的默认权限

directory mask:定义在共享目录中新建文件夹的默认权限

验证配置文件语法

bash 复制代码
# 输出Loaded services file OK. 表示配置语法正确
testparm

4.设置密码认证

bash 复制代码
# 设置密码
sudo smbpasswd -a my_name

# 启用用户
sudo smbpasswd -e my_name

5.重启Samba

bash 复制代码
sudo service smbd restart
或
sudo systemctl restart smbd

6.Windows下映射网络驱动器

IP为Ubuntu的IP地址,share为smb.conf文件中增加的\[\]中名称。

Ubuntu设置静态IP

防止DHCP改变IP的情况下需要重新映射网络驱动器。

DNS必须设置,禁用IPV6,设置好后重启生效。

其他相关命令

1.新安装Ubuntu默认防火墙是关闭的,不需要设置

bash 复制代码
# 允许 Samba 服务通过防火墙
sudo ufw allow samba
# 重启防火墙使配置生效
sudo ufw reload
# 验证规则是否添加成功
sudo ufw status

2.设置开机自启

bash 复制代码
sudo systemctl enable smbd

3.删除samba用户

bash 复制代码
sudo smbpasswd -x 用户名

Win11版本 24H2可能的错误0x80070035和0x80070043

管理员身份运行PowerShell:

bash 复制代码
Set-SmbClientConfiguration -RequireSecuritySignature $false

Set-SmbServerConfiguration -RequireSecuritySignature $false

控制面板→程序→启用或关闭Windows功能→勾选SMB 1.0/CIFS 文件共享支持。

相关推荐
生万千欢喜心14 分钟前
liunx AnolisOS-8.9-x86_64-dvd.iso win11 适配龙蜥 - 虚拟机
linux
天空'之城1 小时前
Linux 系统编程 12:TCP 进阶
linux·网络编程
bkspiderx2 小时前
rpath:Linux 中固定共享库搜索路径的“永久解决方案”
linux·rpath·固定共享库搜索路径
wbs_scy2 小时前
仿 muduo 高并发服务器项目:从 timerfd 到时间轮实现定时任务机制
linux·服务器·c++
AI的探索之旅2 小时前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql
阿pin2 小时前
Android随笔-pipe是什么?
android·linux·pipe
小趴菜え2 小时前
升级Ubuntu20.04版本至Ubuntu22.04
linux·运维
辰三2 小时前
统信 UOS + GBase 8s 国产化环境部署实战:从虚拟机到数据库连接完整指南
linux·c#
Darkwanderor3 小时前
Linux进程优先级操作
linux·运维·c语言·c++
AOwhisky3 小时前
Linux(CentOS)系统管理入门笔记(第一期)——从 Multics 到主流发行版
linux·运维·笔记·centos·云计算