ubuntu22 samba服务部署及windows无法接入问题排查

背景情况:
最近在家把老笔记本改造成了NAS,但是在安装samba服务上卡了好久,windows始终无法访问Ubuntu上的samba服务,在此记录一下整个过程
系统环境:
NAS服务器:ubuntu22 + samba 4.15.13
客户机:win11

1 部署Samba服务

1.1 安装samba服务

sudo apt update
sudo apt install samba

1.2 创建共享文件夹

mkdir /data/share

1.3 创建用户

必须创建一个系统用户,不然不能连接

sudo adduser smbuser

会提示密码,但是这个密码是系统登录密码,samba还会有一个单独的密码需要创建

创建samba访问密码

sudo smbpasswd -a smbuser

1.4 将共享目录授权给新创建用户

将文件目录所有人改为smbuser

sudo chown -R smbuser:smbuser /data/share

将共享目录授权读写权限,这授予777权限也是可以的,但是为了网络安全,还是755或700比较稳妥

sudo chmod 755 -R /data/share

1.5 修改samba配置文件

文件路径/etc/samba/smb.conf

sudo vim /etc/samba/smb.conf

在最后一行加上

[share]
   # 共享文件目录
   path = /data/share
   # 可访问用户白名单
   valid users = smbuser
   # 可进行写操作的用户白名单
   write list = smbuser
   # 新创建文件的默认权限
   create mask = 0775
   # 新创建目录的默认权限
   directory mask = 0775

global加上最低协议支持

[global]
   min protocol = NT1
   aio read size = 0

说明:
[share]中的share就是后续在windows上建立网络共享盘的名称
min protocol = NT1,NT1 = samba v1,SMB2 = samba v2,SMB3 = samba v3
aio read size = 0,表示:读取时不使用异步io,可以加快读取速度

1.6 启动samba服务

sudo systemctl start samba

设置samba服务自动启动

sudo systemctl enable samba

2 windows访问samba共享盘

打开我的电脑,在空白处单击右键,选择“添加一个网络位置”

一路下一步,到填写网络地址,填写\\server_ip\share,这个share就是在smb.conf文件中添加的[share]名称。

在这里插入图片描述

一路下一步直到完成,弹出密码框,输入之前创建的smbuser用户和密码,如果正常,那么可以打开共享盘。

!!!然而这个过程大概率会弹出提示无法连接错误!!!

下面来重点说明如何解决

3 windows无法访问问题排查

在这里插入图片描述

3.1 windows开启SMB文件共享

进入控制面板 > 程序 > 启用或关闭windows功能,勾选SMB文件共享支持
在这里插入图片描述

3.2 ubuntu防火墙允许samba访问

ubuntu防火墙允许samba访问

sudo ufw reject samba

3.3 核对samba账号密码、共享文件路径、目录权限

  • 核对samba访问用户名和密码是否敲错

  • 检查samba配置文件,共享文件路径是否正确,目录授权是否正确

改完配置记得重启samba服务

sudo systemctl restart samba

3.4 尝试删除重建网络地址

清空网络盘连接,打开powershell,输入

net use * /deleted

然后重建网盘

3.5 windows组策略开启访问支持

win+r,输入gpedit.msc,进入计算机配置 > 管理模板 > 网络 > Lanman工作站 > 启用不安全的来宾登陆 > 选择已启用
在这里插入图片描述
在这里插入图片描述

可能会提示找不到gpedit.msc

通过如下方式安装

以管理员角色打开cmd,输入以下命令

dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gpedit.txt

dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>gpedit.txt

type gpedit.txt

for /f %I in ('findstr /i . gpedit.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%I"

# 执行完毕,删除gpedit.txt
del gpedit.txt

3.6 开启windows网络发现、启用文件共享

进入网络 > 更改高级共享设置 > 启用网络发现、启用文件和打印共享

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值