![匿名访问 Samba 服务器(不共享)](https://linux22.com/image/227673/%E5%8C%BF%E5%90%8D%E8%AE%BF%E9%97%AE%20Samba%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%88%E4%B8%8D%E5%85%B1%E4%BA%AB%EF%BC%89.png)
我在这里拉扯我的头发,所以我真的希望有人能提供帮助。
背景
我有一个 Volumio Debian 服务器,我设置了媒体文件,这样我就可以匿名浏览服务器:\\192.168.50.230。我可以从 Windows(AllowInsecureGuestAuth = 1)和 Android 执行此操作。两者都允许我只输入服务器名称(\\192.168.50.230),它会列出所有共享。我记得这有点麻烦,但很有效。 2天前我重新安装了Volumio。注意:我重新安装了相同的同一硬件上的版本。客户端设备(Windows 和 Android)是相同的。
问题
虽然我可以设置访客访问分享,现在访问 samba 时提示输入密码服务器:\\192.168.50.230。有趣的是,如果我输入任何用户名和密码,它让我进入,所以我知道我将以任何人的身份进入。 (事实上,我已经通过创建新文件并查看谁拥有它来确认这一点。例如,如果我执行“映射到 guest = testuser”,那么 testuser 就是所有者,因此该位有效。)
尝试过的事情
我已阅读此处的 smb.conf 文档https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html。 (注意:如果文档规定了默认值,通常我会省略该设置。尽管如此,我在一些测试中添加了该值,但这没有什么区别。例如:security = user,无论如何它都是默认值。)
这个人也有同样的问题:https://samba.samba.narkive.com/kSLUDcBR/behavior-of-deprecated-share-security-with-user-security他们的解决方案是使用“映射到访客=错误密码”而不是“错误用户”。然而,这没有什么区别。事实上,根据文档,如果我尝试以用户身份登录不存在[他们不存在]在这两种情况下都会将用户映射到来宾用户。我的测试证实了这一点。)
这很相似:https://serverfault.com/questions/470650/samba-configuration-for-public-shares但重点是分享但我的重点是在我们讨论股票之前。
这又是关于分享的:https://askubuntu.com/questions/781963/simple-samba-share-no-password>。和以前一样,如果我在 samba 服务器上使用任何内容进行身份验证,它仍然允许访问共享,因此并不真正相关。 (或者,更准确地说,一旦我在服务器上通过身份验证,来宾共享端就可以正常工作。)
这篇文章有一个基于共享的问题https://superuser.com/questions/1315008/minimal-filled-guest-browsable-samba-share我确实尝试将 netbios 名称设置为主机名,但这不起作用。
这几乎正是我遇到的问题:https://askubuntu.com/questions/258284/setting-up-an-anonymous-public-samba-share-to-be-accessed-via-windows-7-and-xbmc尽管它是关于 XBMC (Kodi) 的。我尝试了所有的想法,但没有运气。
要求
我想要的是恢复能够匿名浏览 samba 服务器,以便在我尝试访问共享之前它会列出共享。如果我备份了我的 smb.conf 就好了!我记得的是非常简单——也许只有 10 行。我只是找不到神奇的胶水来修复它。
当前 smb.conf
现在的其实已经回到默认状态了。但实际上,没有“当前”的,因为我已经尝试过一切感觉。 (显然这不是“一切”,否则它会起作用!)但是,这里有一个不是工作:
[global]
# Stop the printing noise in the logs
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
# Logging
log file = /var/log/samba.log
# Anonymous
map to guest = Bad User
guest account = root
usershare allow guests = yes
[child]
path = /parent/child
read only = no
create mask = 0777
guest ok = yes
(是的,是的,我知道:访客到根的映射不利于安全,但这个 wifi 只有一个用户:我。我希望这不会分散主要问题的注意力。)
想法
我还尝试过非常宽松的文件系统权限,例如对所有内容都使用 777。然而,我认为这无关紧要。为什么?因为它只在想要访问共享时才查看文件系统。但是,在我决定要查看哪个份额之前,我的问题就出现了。因此,如果问题出在 samba 配置中,则只能出现在 [default] 部分。
我还想知道它是否与 smb.conf 之外的某些内容有关,例如 smbpasswd。
发行版信息
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" NAME="Raspbian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" ID=raspbian ID_LIKE=debian Linux volumio 4.19.118-v7l+ #1311 SMP 周一4 月 27 日 14:26:42 BST 2020 armv7l GNU/Linux