Ubuntu 16挂载CIFS/Samba共享目录遇权限拒绝问题求助
排查Ubuntu 16挂载Samba共享权限拒绝问题的思路
我来帮你梳理几个针对性的排查方向,既然Mac和Ubuntu 14都能正常挂载,说明服务器端配置和账号凭据没问题,咱们重点从Ubuntu 16本地环境入手:
调整SMB协议版本与安全选项的组合:你指定了
vers=1.0,但Ubuntu 16的cifs-utils 6.3和内核4.13可能对旧版本协议的兼容性有差异。试试去掉vers参数让系统自动协商,或者换成vers=2.1/vers=3.0,同时搭配sec=ntlmsspi(带i的版本,可能解决凭据传递问题),比如:sudo mount -vt cifs -o username=sdea,sec=ntlmsspi //130.226.50.5/sdea/ /home/sdea/jess添加UID/GID映射参数:Samba共享可能依赖用户ID的匹配,本地用户的UID/GID如果和服务器端映射不一致,也会触发权限拒绝。挂载时加上用户ID映射选项:
sudo mount -vt cifs -o username=sdea,sec=ntlmssp,vers=1.0,uid=$(id -u sdea),gid=$(id -g sdea) //130.226.50.5/sdea/ /home/sdea/jess检查AppArmor的限制:Ubuntu 16默认启用了AppArmor,它可能会阻止cifs挂载操作。可以临时关闭AppArmor测试:
sudo systemctl stop apparmor如果关闭后能成功挂载,就需要调整AppArmor对cifs工具的规则,避免后续重启后再次出现问题。
用smbclient做连接调试:先跳过mount,用smbclient直接测试连接并查看详细日志,能帮你定位协商过程中的问题:
smbclient //130.226.50.5/sdea -U sdea -d 3输入密码后,如果能进入交互模式,说明基础连接没问题;如果失败,日志里的错误信息会告诉你是协议协商、安全机制还是其他环节出了问题。
确认挂载目录的本地权限:确保
/home/sdea/jess目录的权限正确,让sdea用户拥有读写权限:sudo chown sdea:sdea /home/sdea/jess sudo chmod 755 /home/sdea/jess检查cifs内核模块状态:确认cifs模块已经加载,没加载的话手动加载后再尝试挂载:
lsmod | grep cifs sudo modprobe cifs
内容的提问来源于stack exchange,提问作者Salvo89
相关产品推荐
相关产品推荐

