我目前正在尝试使用 SMB 共享我的 ZFS 数据集。不幸的是,每次尝试连接到共享时,我都会收到错误 NT_STATUS_BAD_NETWORK_NAME。这个错误对我来说没有多大意义,因为据我从这个来源了解到https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/8f11e0f3-d545-46cc-97e6-f00569e3e1bc错误 NT_STATUS_BAD_NETWORK_NAME 表示服务器名称无效。但如果是这样,为什么我可以完美地访问普通共享,却无法访问 ZFS 共享?这个错误不应该同时发生在两个共享上吗?
我也看了这篇文章NT_STATUS_BAD_NETWORK_NAME 在 Samba 中是什么意思?这表明权限设置可能不正确。但我不认为这是问题的原因,因为/mnt/share
以及/basis/media
目录的权限都设置为755
。
也许这个错误与 ZFS 数据集的配置或某些隐藏的 ZFS 配置有关,这些配置不允许 SMB 共享 ZFS 文件系统?
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
# normal SMB share
[test]
path = /mnt/share
writable = yes
browseable = yes
read only = no
valid users = @media
public = no
guest ok = no
# ZFS SMB share
[zfs]
path = /basis/media
writable = yes
browseable = yes
read only = no
valid users = @media
public = no
guest ok = no
我正在尝试通过 访问共享smbclient //localhost/zfs -U <USER>%<PWD>
。无论我如何尝试访问共享(无论是本地还是从另一台机器),错误仍然存在。
编辑:怀疑与错误相关的部分日志文件
[2023/05/20 14:49:02.615284, 0] ../../source3/smbd/smb2_service.c:787(make_connection_snum)
make_connection_snum: canonicalize_connect_path failed for service zfs, path /basis/media
[2023/05/20 14:49:02.615366, 3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_BAD_NETWORK_NAME] || at ../../source3/smbd/smb2_tcon.c:151
答案1
我完全从头开始,创建了一个新的 ZFS 池。但这次我将池挂载在/mnt/basis
而不是/
。对于其他所有操作,我所做的与之前尝试的完全相同。虽然这个解决方案对我有效,但我不确定它为什么有效,因为所有权限都设置得完全相同。