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 ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9509c2e0fef54e68a5739928c9e15982.png) 4.设置密码认证 ```bash # 设置密码 sudo smbpasswd -a my_name # 启用用户 sudo smbpasswd -e my_name ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4b06dee3e3644a0aa719a02a7078576b.png) 5.重启Samba ```bash sudo service smbd restart 或 sudo systemctl restart smbd ``` 6.Windows下映射网络驱动器 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b290f83b1dcf42db88ca9f8fa72b8735.png) IP为Ubuntu的IP地址,share为smb.conf文件中增加的\[\]中名称。 ### Ubuntu设置静态IP 防止DHCP改变IP的情况下需要重新映射网络驱动器。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/34ea56109f034a9d842b90aafcace02a.png) 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 ``` ![请添加图片描述](https://i-blog.csdnimg.cn/direct/f8223058f6ef4a38a4343a5e63155d24.png) 控制面板→程序→启用或关闭Windows功能→勾选SMB 1.0/CIFS 文件共享支持。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1e238ede1f204774ba17d0e4f31c25dd.png)

相关推荐
虾..1 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙1 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
꧁坚持很酷꧂2 小时前
解决虚拟机Ubuntu22.04连接了串口设备但终端没有显示
ubuntu
hkhkhkhkh1233 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
HZero.chen4 小时前
Linux字符串处理
linux·string
张童瑶4 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
汪汪队立大功1234 小时前
什么是SELinux
linux
石小千4 小时前
Linux安装OpenProject
linux·运维
柏木乃一4 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-30904 小时前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu