Windows11下和Vmware中的Ubuntu22.04设置samba服务遇到的一个问题- valid users和guest设置冲突
Windows11下和Vmware中的Ubuntu22.04设置samba服务遇到的一个问题- valid users和guest设置冲突
问题背景
在配置samba服务配置文件的过程中,/etc/samba/smb.conf配置文件新增配置如下:
[workspace]comment = Ubuntu Shared Folderpath = /home/john/WorkSpace/available = yesvalid users = johnguest ok = yesread only = nobrowsable = yespublic = yeswritable = yescreate mask = 0777directory mask = 0777
\192.168.6.126无法访问。你可能没有权限使用网络资源。 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。
你遇到的错误提示:
不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。
这是 Windows 访问 Samba 共享时常见的问题,通常是因为:
你已经以某个用户身份(如 guest 或 john)连接过该 Samba 服务器,再尝试用另一个身份连接时,Windows 不允许同一台客户端用不同身份同时访问同一台服务器。
解决方法如下:
1. 断开已有的网络连接
在 Windows 上打开命令提示符(cmd),输入:
net use * /delete
2. 检查 Samba 配置
你的 [workspace] 配置中同时设置了:
valid users = john
guest ok = yes
public = yes
这会导致 Samba 既允许 guest 访问,又限制只允许 john 用户访问,容易引发权限混乱。建议只保留一种访问方式。
- 1)、如果只允许 john 用户访问:
[workspace]comment = Ubuntu Shared Folderpath = /home/john/WorkSpace/available = yesvalid users = johnread only = nobrowsable = yeswritable = yescreate mask = 0777directory mask = 0777
去掉 guest ok = yes 和 public = yes
。
- 2)、如果允许 guest 访问(
不建议,除非你想让所有人都能访问
):
[workspace]comment = Ubuntu Shared Folderpath = /home/john/WorkSpace/available = yesguest ok = yesread only = nobrowsable = yeswritable = yescreate mask = 0777directory mask = 0777
3. 重启 Samba 服务
修改完配置后,执行:
sudo systemctl restart smbd
4. Windows 端重新连接
断开所有连接后,重新用正确的用户名(如 john)访问:
- 访问时输入用户名和密码(如 john 用户的 Samba 密码)。
如果还未设置 Samba 用户密码,执行:
sudo smbpasswd -a john
总结
断开 Windows 端所有到该服务器的连接。
Samba 共享配置不要同时允许 guest 和指定用户。
重启 Samba 服务。
用正确的用户名/密码重新连接。