Ubuntu20.04安装和配置Samba实现Win11下共享文件夹
Samba是在Linux和UNIX系统上实现 SMB / CIFS 协议的开源软件,主要用于局域网内的文件共享和打印服务。Samba通过SMB/CIFS协议实现跨平台资源共享,支持匿名用户和本地用户访问共享目录,客户端主要为Windows系统。其核心进程包括:
- smbd:负责共享目录权限控制、文件传输(TCP端口139/445)。
- nmbd:基于 NetBIOS 协议进行主机名解析(UDP端口137/138)。
sambd安装及配置
1.安装sambd:
# 更新软件包列表
sudo apt update# 安装 Samba 服务
sudo apt-get install samba samba-common# 检查安装是否成功,出现active (running)表示已启动服务
sudo systemctl status smbd nmbd
2.创建共享文件夹
mkdir /home/my_name/win-share
sudo chmod 777 /home/my_name/win-share
3.修改samba配置文件
#备份
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak#编辑
sudo vim /etc/samba/smb.conf
文件末尾输入:
[share]comment = Shared folder between Ubuntu and Windowspath = /home/my_name/win-sharebrowsable = yeswritable = yesvalid users = my_nameforce user = my_nameforce group = my_nameavailable = yesread only = noguest ok = no
; public = yescreate mask = 0777directory 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:定义在共享目录中新建文件夹的默认权限
验证配置文件语法
# 输出Loaded services file OK. 表示配置语法正确
testparm
4.设置密码认证
# 设置密码
sudo smbpasswd -a my_name# 启用用户
sudo smbpasswd -e my_name
5.重启Samba
sudo service smbd restart
或
sudo systemctl restart smbd
6.Windows下映射网络驱动器
IP为Ubuntu的IP地址,share为smb.conf文件中增加的[]中名称。
Ubuntu设置静态IP
防止DHCP改变IP的情况下需要重新映射网络驱动器。
DNS必须设置,禁用IPV6,设置好后重启生效。
其他相关命令
1.新安装Ubuntu默认防火墙是关闭的,不需要设置
# 允许 Samba 服务通过防火墙
sudo ufw allow samba
# 重启防火墙使配置生效
sudo ufw reload
# 验证规则是否添加成功
sudo ufw status
2.设置开机自启
sudo systemctl enable smbd
3.删除samba用户
sudo smbpasswd -x 用户名
Win11版本 24H2可能的错误0x80070035和0x80070043
管理员身份运行PowerShell:
Set-SmbClientConfiguration -RequireSecuritySignature $falseSet-SmbServerConfiguration -RequireSecuritySignature $false
控制面板→程序→启用或关闭Windows功能→勾选SMB 1.0/CIFS 文件共享支持。