在长期(2 年)的 Arch Linux 服务器上,我运行了一个包含多个共享的小型 samba 配置。我希望用户只能看到他们有权访问的共享 - 这就是我使用“基于访问的共享枚举 = 是”配置选项的原因(请参阅smb.conf(5))
在 samba 4.16 发布之前,这个功能一直按预期工作(我承认我无法证明 4.16 改变了这一点,但看起来确实如此)。自 4.16 以来的行为是所有共享都是不可见的,尽管我仍然可以访问它们。
我已经将 smb.conf 精简为只有一个共享的最低版本,但问题仍然存在。以下是 testparm smb.conf 的输出:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
disable spoolss = Yes
dns proxy = No
interfaces = 192.168.16.10/24
load printers = No
logging = systemd
printcap name = /dev/null
server role = standalone server
server string = rathernotsay
show add printer wizard = No
idmap config * : backend = tdb
hosts allow = 192.168.14. 192.168.16. 192.168.17. 10.1. 127.
printing = bsd
[temp]
access based share enum = Yes
comment = temporary files
create mask = 0770
directory mask = 02770
force create mode = 0660
force directory mode = 02770
path = /mnt/subvol_mounts/samba/temp
read only = No
valid users = +samba_temp
vfs objects = btrfs
我很感激任何关于这个主题的帮助。提前谢谢您。
答案1
存在与读取 share_info.tdb 文件相关的回归问题。几周前已修复此问题,因此它应该会出现在 4.16.9 和 4.17.5 版本中。
https://bugzilla.samba.org/show_bug.cgi?id=15265
虽然我不建议在生产系统中使用它,但我可以确认 share_info.tdb 上的 chmod 666 确实恢复了预期的行为。
答案2
自 4.16 以来的行为是所有共享都是不可见的,即使我仍然可以访问它们。
您好,我遇到了完全相同的情况。我可以确认此行为发生在 4.16.5 中(我已从 4.15.9 升级到 4.16.5)。这可能是一种理想的行为,但有没有办法恢复旧行为?
谢谢