Ubuntu 22.04.3 LTS下fstab配置的CIFS共享挂载失败(STATUS_LOGON_FAILURE)求助
您好,针对您遇到的CIFS共享挂载时出现STATUS_LOGON_FAILURE(登录失败)的问题,我整理了几个常见的排查方向和解决方案,您可以逐一尝试:
指定SMB协议版本
Ubuntu 22.04自带的cifs-utils默认会尝试协商较高版本的SMB协议,但有些老旧的Windows共享可能仅支持SMBv1或SMBv2。您可以在fstab的挂载参数里明确指定协议版本,比如修改条目为://192.168.16.253/Movies_XMAS /media/pms-movies_xmas cifs credentials=/etc/win-credentials2,uid=1000,gid=1000,vers=2.0如果SMBv2不行,再试试
vers=1.0,修改后执行sudo mount -a重新挂载测试。检查凭证文件格式
确认/etc/win-credentials2的格式是否规范,正确的格式应该是每行一个参数:username=你的共享用户名 password=你的共享密码 domain=你的工作组/域名(如果是工作组环境,可填WORKGROUP,或者尝试留空)很多时候登录失败是因为domain参数缺失或填写错误,尤其是共享所在的Windows机器加入了域或有特定工作组设置时。
手动挂载并开启调试
先跳过fstab,手动执行挂载命令并开启调试模式,获取更详细的错误信息:sudo mount -t cifs //192.168.16.253/Movies_XMAS /media/pms-movies_xmas -o credentials=/etc/win-credentials2,uid=1000,gid=1000,vers=2.0,debug=2调试输出会帮您定位到底是协议协商、凭证验证还是其他环节出了问题。
检查挂载目录与SELinux(若启用)
确认挂载目录/media/pms-movies_xmas的权限是否正确,执行:sudo chmod 755 /media/pms-movies_xmas如果您的系统启用了SELinux(Ubuntu默认未开启,但部分定制环境可能有),可以临时关闭测试:
sudo setenforce 0若挂载成功,再考虑配置SELinux的相关规则。
排查网络与防火墙
先确认Ubuntu机器能正常ping通192.168.16.253,再测试SMB端口是否开放:telnet 192.168.16.253 445如果端口不通,说明Windows机器的防火墙可能阻止了SMB流量(需要开放139、445端口),或者网络路由存在问题。
建议您先从指定SMB协议版本和检查凭证文件格式这两个方向入手,这是此类问题最常见的诱因。
备注:内容来源于stack exchange,提问作者chribonn

