统信UOS访问Samba共享反复弹出凭据窗口并提示“密码错误”,主因是Windows本地账户未设明文密码、SMB协议版本不匹配(需强制指定vers=3.0)、Samba凭证未独立配置、Windows快速启动残留会话或防火墙拦截445端口,而非单纯输错密码。

统信UOS访问远程Samba共享时反复弹出凭据窗口并提示“密码错误”,并非总是输错密码所致,而是Samba认证机制、Windows端账户类型、UOS挂载参数或协议协商失败共同作用的结果——比如用Windows本地账户登录却填了Microsoft账户密码,或未为Samba单独设置密码,又或者SMB版本不匹配导致凭据根本未被送达验证环节。
确认远程共享端使用的账户类型与密码来源
Windows主机上共享文件夹所依赖的认证账户,必须是启用了SMB身份验证的本地用户,而非Microsoft账户别名或PIN码。若该账户从未在Windows中设置过本地密码(例如仅用指纹或PIN登录),则需进入“设置→账户→登录选项→密码”手动创建一个本地密码。
在UOS端输入的密码,必须与Windows该本地账户的明文密码完全一致;若Windows端使用的是管理员账户,注意默认可能禁用远程SMB登录,需在“本地组策略编辑器→计算机配置→Windows设置→安全设置→本地策略→安全选项”中启用“帐户:使用空密码的本地帐户只允许进行控制台登录”为“已禁用”。
【关键前提】若Windows端启用了“快速启动”,会导致SMB会话状态残留,重启后首次连接极易报密码错误——务必在Windows中执行电源选项→选择电源按钮的功能→更改当前不可用的设置→取消勾选“启用快速启动”并保存,再完整重启一次Windows主机。
检查UOS是否已为Samba用户独立设密
方法一:通过smbpasswd命令验证Samba凭证是否存在且有效
打开终端,运行sudo smbpasswd -a $USER;若提示“user already exists”,说明已添加,但需确认密码是否与Windows端一致;若提示“user not found”,则必须先执行sudo usermod -aG sambashare $USER,再重新添加。
方法二:绕过图形界面,用smbclient直接测试认证链路
执行smbclient -L //192.168.1.100 -U Windows用户名,按提示输入密码;若返回NT_STATUS_LOGON_FAILURE,说明密码未通过Windows端验证;若返回NT_STATUS_ACCESS_DENIED,则可能是该用户未被加入“Remote Management Users”或“Users”组。
注意:smbclient命令中的-U参数后必须跟Windows实际使用的用户名,大小写敏感,不能用全名或邮箱格式。
强制指定SMB协议版本并修正挂载参数
第一步:创建本地挂载点目录
mkdir -p ~/win-share
第二步:使用明确vers参数的挂载命令
Windows 10/11默认禁用SMBv1,UOS若未显式指定协议版本,会 fallback 至SMBv1并立即失败。必须强制使用vers=3.0或vers=2.1。命令示例:
sudo mount -t cifs //192.168.1.100/Shared ~/win-share -o username=Admin,password=123456,uid=$UID,gid=$(id -g),iocharset=utf8,vers=3.0,sec=ntlmssp
第三步:验证挂载结果
运行ls ~/win-share;若仍报错“Permission denied”,请立即检查Windows端“高级共享设置”中是否关闭了“SMB 1.0/CIFS 文件共享支持”——该选项虽标为“旧版”,但UOS部分版本在vers=3.0下仍需其底层服务模块加载成功才能完成NTLMSSP协商。
【不可逆操作提醒】若在/etc/fstab中写入挂载项,请勿省略noauto选项;否则开机时因网络未就绪或Windows未开机,系统将卡死在挂载等待阶段,无法进入桌面。
排查Windows端防火墙与SMB服务状态
在Windows主机上,以管理员身份运行PowerShell,依次执行:
Get-Service LanmanServer | Select-Object Status,Name → 确认Status为Running;
Get-NetFirewallRule -DisplayName "*File and Printer Sharing*" | Where-Object {$_.Enabled -eq 'True'} → 确保至少有一条规则启用;
若发现“Core Networking”类规则被禁用,运行Enable-NetFirewallRule -DisplayGroup "Core Networking";
最后,在UOS终端中执行nmap -p 445 192.168.1.100,若显示445/tcp filtered或closed,说明Windows防火墙仍未放行SMB端口,需回Windows手动放行或临时关闭防火墙测试。

















