NAS 与 SMB/CIFS 的问题;如何“查看”客户端-服务器消息传递?

NAS 与 SMB/CIFS 的问题;如何“查看”客户端-服务器消息传递?

我有一台新的 Synology NAS (DS1621+),并已开始集成到我的家庭网络中。我在 Linux 主机上使用它时遇到一些问题。我可以挂载 NAS,但权限(从 Linux 中看到)不是我想要的。我的印象是所有权和权限可以“映射”从 NAS 到我的 Linux 客户端,但我不清楚这是如何完成的。我的 Linux 主机都是基于 Debian 的设备,Synology NAS 通过 SMB 提供文件服务。在 Linux 上,我使用cifs-utils 套件( mount -t cifs ...) 挂载股份。

我联系了 Synology,并惊讶地发现:

1:Synology 不向“命令行”用户提供技术支持。
2:Synology 声称他们的 SMB 实施是专有的,并且不提供有关接口的任何(有用)文档。

怀疑Synology 的实施不是远离主流,但经过一些尝试和错误,我仍然有“权限问题”。此外,该mount.cifs手册有很多选项,其目的和效果对我来说很模糊。

是否有任何可用的 Linux 工具可以帮助识别mount.cifs从 Linux 客户端的角度来看各种选项和参数如何影响权限?我想消除尽可能多的试错法尽可能。

我对使用 SMB 而不是 NFS 很感兴趣,因为我听到的 NFS 负面消息比 SMB 多。

我已在 Synology 端创建用户并将其添加到那里的 SMB 配置中。

编辑:2022-07-12;更多阅读、发现

变量似乎正在发挥作用的是:

  1. Linux 实现的状态《Unix 扩展》SMB,以及我的客户端计算机上的版本
  2. 服务器(Synology)实施 SMB/Samba 的状态
  3. 服务器(Synology)实施“Unix Extensions”的状态

为了提高这个问题的质量,我尝试在我的问题的背景下定义这些变量:

  1. 重新介绍一下 Linux 实现“Unix 扩展”的状态:
$ mount.cifs --version
mount.cifs version: 6.11
# NOTE1: Unix Extensions are enabled by default per man mount.cifs 
# NOTE2: see also 'modinfo cifs' 
  1. SMB/Samba 的 Re 服务器 (Synology) 版本:
$ ssh admin@SynologyNAS-1
/$ samba --version
Version 4.10.18 
/$ uname -srm
Linux 4.4.180+ x86_64
  1. Re 服务器(Synology)版本的“Unix Extensions”

    我不知道如何做到这一点,所以我尝试smbclient

$ smbclient \\\\SynologyNAS\\rpi_share -U=pi
Enter WORKGROUP\pi's password:
Try "help" to get a list of possible commands.
smb: \> help
?              allinfo        altname        archive        backup
blocksize      cancel         case_sensitive cd             chmod
chown          close          del            deltree        dir
du             echo           exit           get            getfacl
geteas         hardlink       help           history        iosize
lcd            link           lock           lowercase      ls
l              mask           md             mget           mkdir
more           mput           newer          notify         open
posix          posix_encrypt  posix_open     posix_mkdir    posix_rmdir
posix_unlink   posix_whoami   print          prompt         put
pwd            q              queue          quit           readlink
rd             recurse        reget          rename         reput
rm             rmdir          showacls       setea          setmode
scopy          stat           symlink        tar            tarmode
timeout        translate      unlock         volume         vuid
wdel           logon          listconnect    showconnect    tcon
tdis           tid            utimes         logoff         ..
!
smb: \> ? posix
HELP posix:
    turn on all POSIX capabilities

smb: \> posix
Server doesn't support UNIX CIFS extensions.
smb: \> ? chmod
HELP chmod:
    <src> <mode> chmod a file using UNIX permission

smb: \> chmod test-touch-4B.txt 666
Server doesn't support UNIX CIFS calls.
...

2022年7月12日;结论和修改的问题?

上述结果与smbclient 建议对于 SMB/CIFS,我的客户端软件是加快速度,但我闪亮的新 Synology NAS 还很远落后于曲线

我原来的问题现在变成了:“这些结果准确吗?当供应商拒绝任何有关产品的信息时,是否有更结论性或更准确的方法来确定产品的状态?”

对于有类似疑问的人,我只能提供:

就我而言:我mount使用 Synology 用户pi凭据。这样做会使我的 Linux 用户pi无法写入已装载的共享 - 尽管 Synology 用户pi已在 Synology DSM 中获得了 R&W 权限。我发现在命令中添加uid=pi和选项,至少可以让 Linux 用户写入 Synology 服务器上的 SMB 共享。gid=pimount -t cifspi为什么这个作品我将不得不留给其他人来回答。

进一步阅读:

  1. SMB UNIX 扩展 Wiki
  2. CIFS VFS - 通用 Internet 文件系统的协议扩展,以实现更好的 POSIX 文件 I/O 语义
  3. 搜索:SMB/CIFS/Samba 的“Unix 扩展”是什么?
  4. Samba 版本 4.3 或更高版本支持 SMB 3.1.1
  5. Linux cifs 邮件列表
  6. mount.cifs并且mount.smb3几乎相同; ref man mount.cifs- 这也是mount.smb3.
  7. SMB3-Linux 维基
  8. SMB POSIX 扩展与 SMB Unix 扩展相同吗?...显然不是
  9. CIFS 协议扩展更新,fm 2006(正在YEARS制作中)
  10. CIFS 协议扩展和 Linux CIFS 客户端 fm 概览。 2008年
  11. SMB3 POSIX 扩展第 2 阶段...下一步是什么? (调频,2020)
  12. 上面#10的视频
  13. Linux 内核用户和管理员指南 » CIFS(注:Steve French 的更多废话)
  14. 什么是 SMB 协议以及为什么它是一个安全问题?
  15. 服务器消息块 - 维基百科

相关内容