Ubuntu 20.04挂载Windows Server 2016共享文件夹失败求助
Ubuntu 20.04挂载Windows Server 2016共享文件夹失败求助
遇到同账号同网段下,能挂载Win2012却挂不上Win2016的情况确实挺闹心的,我整理了几个常见的排查方向,你可以逐一尝试:
指定SMB协议版本:Windows Server 2016默认对旧版SMB(比如SMB1)有严格限制,而Ubuntu 20.04挂载时可能默认使用的协议版本和Win2016不兼容。你可以尝试在挂载命令里明确指定SMB3版本试试:
sudo mount -t cifs //win2016-server-name/share-path /local-mount-point -o username=DOMAIN\your-account,password=your-pass,vers=3.0如果SMB3不行,也可以试试
vers=2.1,Win2016也支持这个版本。双重权限检查:虽然用的是同一个AD账号,但要确认这个账号同时拥有Win2016共享文件夹的共享权限和NTFS权限:
- 在Win2016上右键共享文件夹→属性→「共享」标签→点击「高级共享」→检查「权限」里是否给了AD账号对应的读写权限;
- 切换到「安全」标签,确认AD账号在NTFS权限里也有相应的访问权限。
很多时候共享权限开了但NTFS权限没配置,会导致挂载失败。
排查Win2016的防火墙与安全策略:哪怕在同一子网,Win2016的防火墙可能对SMB端口有额外限制,或者本地安全策略设置影响了连接:
- 可以临时关闭Win2016的防火墙,尝试挂载,如果能成功,说明防火墙规则需要调整,确保SMB相关端口(445、139)允许Ubuntu服务器的IP访问;
- 检查本地安全策略里的「网络访问: 本地账户的共享和安全模型」,不要设置为「仅来宾 - 本地用户以来宾身份验证」,虽然你用的是AD账号,但这个设置也可能影响域账户的访问。
更新Ubuntu的cifs-utils工具:旧版本的cifs客户端可能和Win2016的SMB协议兼容性不好,先更新工具再尝试:
sudo apt update && sudo apt upgrade cifs-utils获取详细报错日志:挂载时加上
verbose参数,能得到更具体的错误信息,方便定位问题:sudo mount -t cifs //win2016-server-name/share-path /local-mount-point -o username=DOMAIN\your-account,password=your-pass,vers=3.0,verbose也可以查看系统日志里的CIFS相关信息:
dmesg | grep -i cifs日志里可能会提示协议协商失败、身份验证错误等具体原因。
验证DNS解析:有时候主机名解析失败会导致连接不上,试试用Win2016的IP地址代替主机名挂载:
sudo mount -t cifs //192.168.x.x/share-path /local-mount-point -o username=DOMAIN\your-account,password=your-pass,vers=3.0如果用IP能成功挂载,那就是Ubuntu的DNS设置有问题,需要调整DNS服务器指向能正确解析域内主机名的服务器。
你可以先从指定SMB版本和检查双重权限这两个方向入手,这是这类问题最常见的原因,如果有新的报错信息,欢迎补充上来进一步排查~
备注:内容来源于stack exchange,提问作者Jigar Patel




