我在 Ubuntu 22 LTS 上设置了以下共享:
[share]
path = /home/user/trunk
browsable = yes
writeable = yes
public = yes
我运行sudo smbpasswd -a user
并将密码设置为与 Ubuntu 的登录密码相同。然后我使用 重新启动了服务sudo service smbd restart
。
我无法连接到共享。当我尝试时,Windows 10 中出现“拒绝访问”消息,并再次要求我输入凭据。这种情况不断重复,循环往复。
日志文件显示:
[2023/08/02 14:12:08.287659, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_ACCESS_DENIED] || at ../../source3/smbd/smb2_tcon.c:151
[2023/08/02 14:12:08.307824, 1] ../../source3/smbd/smb2_tcon.c:242(smbd_smb2_tree_connect)
smbd_smb2_tree_connect: reject request to share [IPC$] as 'UBUNTU22\user' without encryption or signing. Disconnecting.
[2023/08/02 14:12:08.307887, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_ACCESS_DENIED] || at ../../source3/smbd/smb2_tcon.c:151
[2023/08/02 14:12:13.991527, 1] ../../source3/smbd/smb2_tcon.c:242(smbd_smb2_tree_connect)
smbd_smb2_tree_connect: reject request to share [IPC$] as 'UBUNTU22\user' without encryption or signing. Disconnecting.
[2023/08/02 14:12:13.991679, 3] ../../source3/smbd/smb2_server.c:3954(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_ACCESS_DENIED] || at ../../source3/smbd/smb2_tcon.c:151
我尝试过的事情:
- 将密码设置为“password”并确保输入正确。
- 添加
ntlm auth = yes
到 smb.conf map to guest = bad user
在 smb.conf 中注释掉。usershare allow guests = yes
在 smb.conf 中注释掉。- 添加
security = user
到 smb.conf。 - 完全删除 samba 并使用 apt 重新安装。
- 尝试通过“\UBUNTU22\share”直接访问共享。
我还尝试了全新安装 Ubuntu 22,我没有编辑 smb.cong,而是右键单击主目录中的文件夹并设置“本地用户共享”。这样,我就可以在浏览机器时从 Windows 中看到该文件夹,但我无法打开它,因为我进入了与以前相同的凭据循环。有趣的是,无论该方法做什么,它似乎都没有编辑 smb.conf,因为共享文件夹没有出现在其中。
答案1
解决方案是重启 Ubuntu 两次。我不知道为什么第二次重启会成功,我最初重启是为了看看它是否有效,但当天就放弃了,第二天早上它让我以读/写权限浏览共享。
可能是某种缓存问题,但我不确定是 Linux 还是 Windows 的问题。我猜重启一切就像 1995 年一样。
答案2
有一个安装和配置 Samba 的指南值得查看和遵循。
重点:
安装/重新安装 Samba 并确保其正常运行。
确保 smb.conf 配置正确。sudo nano /etc/samba/smb.conf。
在文件底部添加以下几行:[sambashare} 注释 = Ubuntu 上的 Samba 路径 = /home//sambashare 只读 = 否 可浏览 = 是
重新启动 samba 服务:sudo service smbd restart 如有必要,更新防火墙规则:sudo ufw allow samba
添加用户:sudo smbpasswd -a 和密码
在 Windows 中:\192.168.xy,这是 Linux 计算机的 IP
所有这些都已经过测试并且有效。
您可能已在此过程中重新启动了系统。
最后,彻底重启两个系统,确保一切都已重置,并确保可以双向 ping 通。