我有一个运行 Debian 9.0 和 Samba 服务器(v. 4.5.8)的文件服务器。当我从 Windows PC 连接时,一切都运行正常,但当我从 MacOS(尝试从 Mountain Lion 和 Sierra 连接)连接时,几乎每个复制到该共享的文件都变灰(就像下载不完整一样)。虽然 CR2、PDF 和 TTF 变灰,但 AI 和 PSD 却没有变灰。在 SMB 上,我使用水果模块来加快从 Apple 计算机的访问速度。效果很好,没有它,访问速度会慢很多,但不再有灰色文件。
我的 SMB 配置:
[global]
workgroup = COMPANY
netbios name = DATACENTER
server string = Datacenter
security = user
log level = 1
read raw = No
write raw = No
max xmit = 65536
case sensitive = no
fruit:aapl = yes
fruit:resource = xattr
fruit:veto_appledouble = yes
readdir_attr:aapl_max_access = no
fruit:metadata = stream
socket options = TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_SNDBUF=65535 SO_RCVBUF=32768
unix extensions = no
[Share]
comment = Share
browseable = false
null passwords = true
path = /home/raid/
read only = No
guest ok = No
create mask = 775
vfs object = recycle catia fruit streams_xattr
config-file = /etc/samba/recycle.conf
recycle:repository = --==Recycle==--
recycle:keeptree = yes
recycle:versions = yes
valid users = user
因此,当我禁用整个水果模块时,它可以工作,但速度非常慢(仅限 Apple)。我尝试将水果:资源更改为文件,还启用了 aapl_max_access,但没有成功。
附加信息:在水果模块上启用日志级别 10 会给我一个日志文件,其中有以下错误:
reading meta xattr for filename.exet, rc: -1
error reading AppleDouble for filename.ext
ad_get(meta) for filename.ext returning -1
也许这就是问题所在?
PS:文件系统是:
/home/raid 上的 /dev/sda1 类型 ext4 (rw、noatime、nodiratime、data=ordered)
fstab:
袭击
UUID=1346a8d6-5611-4b35-9ca0-98638b9d515a /home/raid ext4 默认值,user_xattr,noatime,nodiratime 0 2
答案1
我最近就看到了这个问题——它是由 VFS 模块的排序引起的。当recycle
与一起使用时fruit
,它必须总是位于它们之后(事实上,除了使用异步 I/O 模块时,recycle
应该始终位于最后)。
A类似的错误已针对 FreeNAS 提起诉讼。重要部分如下:
recycle
和fruit
/之间的交互streams_xattr
需要recycle
在它们之后。否则,您将遇到看似属性或权限的错误。
我的问题出现在 Linux 上使用 Samba 4.5(以 ZFS 作为底层文件系统)时,但操作系统版本和文件系统似乎并不重要。
您的共享配置中的正确条目应为:
vfs objects = catia fruit streams_xattr recycle
纠正后,您可能会发现在纠正顺序之前复制的文件vfs objects
仍然呈灰色。如果是这种情况,请从这些文件中删除所有扩展属性,它们应该会正确显示在 Finder 中(您可以使用任何 Linux 扩展属性工具执行此操作)。