“遵守 pam 限制” 在 Samba 4(Ubuntu 20.04)中仍然有效吗?

“遵守 pam 限制” 在 Samba 4(Ubuntu 20.04)中仍然有效吗?

这是重演这个问题我两周前问过,但由于与 EOL Ubuntu 版本有关,所以问题已经解决。

我又进行了一次安装,这次是在 Ubuntu Server 20.04LTS 上,结果完全相同。我也在最新的 Debian(Buster 10.7)上尝试了相同的配置,结果相同。

因此,我们开始吧:

最新的 Samba 文档说(https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html):

当 Samba 3.0 配置为启用 PAM 支持(即 --with-pam)时,此参数将控制 Samba 是否应遵守 PAM 的帐户和会话管理指令。

这仍然可以与 Samba 4 一起使用吗?

我得到了一些奇怪的结果,似乎 PAM 的限制被强制执行一次,但后来不再执行了。

我尝试在 Samba 共享上设置文件大小限制。我不是在谈论配额,而是在谈论阻止用户存储大于 100MB 的文件。我为此使用了 /etc/security/limits.conf。

它几乎可以正常工作。好吧,它在用户第一次尝试创建文件时可以正常工作,但之后就不再可以了。

这是我所做的:

  • 首先我在 /etc/security/limits.conf 中为用户 johndoe 定义了 100MB 的硬文件大小限制:

    johndoe hard fsize 102400

  • 然后我添加session required pam_limits.so到 /etc/pam.d/samba,以告诉 PAM 强制执行限制

  • 最后,我添加obey pam restrictions = yes到 /etc/samba/smb.conf

起初这看起来很有希望,当用户 johndoe 尝试复制一个大于 100MB 的文件时,Windows 10 客户端会抛出以下错误: 意外错误阻止您复制文件...发生意外的网络错误

到目前为止,一切顺利!这就是我想要的,阻止用户存储大于 100MB 的文件

但如果我单击“再试一次”,文件无论如何都会被复制。

如果我尝试复制更多大于 100MB 的文件,则不会再出现任何错误消息,并且复制将继续。

如果用户 johndoe 注销并重新登录,结果相同:第一次尝试复制大于 100MB 的文件时会引发错误,但后续尝试会成功。

因此,似乎我设置于 /etc/security/limits.conf 中的限制仅在第一次尝试时强制执行,之后不再强制执行。

知道为什么吗?或者知道如何实现我的目标(防止用户复制大于 100MB 的文件)?

答案1

好的,我得到了 Samba 团队的直接答复

基本上,总而言之,Samba 无法设置单个文件大小的限制

完整讨论可以在二月份的邮件列表存档中找到(https://lists.samba.org/archive/samba/2021-February.txt.gz

相关内容