当用户连接/登录时,Samba 可以将用户的密码传递给管理员定义的脚本吗?

当用户连接/登录时,Samba 可以将用户的密码传递给管理员定义的脚本吗?

因此,当用户通过 SMB 连接到设备时,我需要使用用户密码解锁 encfs 目录(不是 home)。

用户没有其他访问权限 - 没有 SSH、GUI 等。这(几乎肯定)需要通过用户登录 Samba 时由 Samba 调用的服务器端 shell 脚本来完成。

我知道可能会有人真诚地表达对安全和最佳实践的担忧,所以为了避免这些问题并且不偏离主题,请允许我说一下(或者,如果您只想回答所问的问题,请跳过这些要点):

  • 谢谢。
  • 我知道这可能不是“安全”的标准 IT 客户端/服务器实践,因为它可能涉及容易被利用的弱点(例如,可被黑客攻击的脚本)。
  • 我知道 encfs 充斥着已知的弱点,并且发布版本维护得并不好。
  • 这是针对一个狭窄的、特定的嵌入式用例,并且是一个概念验证。这里的目的(也是唯一的目标)是Samba 解锁(或触发解锁)透明的基于文件的堆叠加密,除了使用有效的 Samba 凭据进行连接外,无需用户干预
  • Encfs 或类似的按文件堆叠加密作为普通文件是一项硬性要求。无论是 EncFS、eCryptFS、CryFS、gocryptfs(内核或用户空间 FUSE)目前都无关紧要。(我知道 eCryptFS 是废弃软件,它们都有优点、缺点和弱点 - 一般的按文件堆叠加密也是如此。)它不可能是 LUKS、VeraCrypt - 任何环回容器 - ZFS 等。

如果还有一种方法可以在服务器端捕获 samba 断开连接或超时事件,那也很好,但不会破坏交易。

服务器是 Ubuntu 22.04 Server。客户端是任何支持 SMB3 的客户端。

谢谢!

相关内容