Samba 和 ZFS 导致 NT_STATUS_BAD_NETWORK_NAME

Samba 和 ZFS 导致 NT_STATUS_BAD_NETWORK_NAME

我目前正在尝试使用 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而不是/。对于其他所有操作,我所做的与之前尝试的完全相同。虽然这个解决方案对我有效,但我不确定它为什么有效,因为所有权限都设置得完全相同。

相关内容