在 Ubuntu/Linux 中正确安装 Samba 共享

在 Ubuntu/Linux 中正确安装 Samba 共享

我在一家使用 Windows AD 的公司工作。

我们有一个 TrueNAS 设置,其中有一些 SMB 共享,它们在 Windows 下运行良好,但我真的不明白如何在 Ubuntu 下正确设置它们。

因此,我可以在 Windows 中顺利安装它们,并且文件在所有客户端上使用 AD 中的 DFS 进行共享。这意味着每个客户端和用户都是单独对待的,当一个人创建文件时,文件的所有者就是创建该文件的人。

现在在 Ubuntu 中,我只知道可以使用 fstab 挂载共享,并且基本上使用本地 TrueNAS 或域凭据来执行此操作。出于安全原因,我想避免允许访客访问这些共享。

但当然会发生的情况是,所有创建的文件(与域用户无关)始终是由创建挂载的用户创建的。

所以我的问题是:如何在 Ubuntu 下正确地执行此操作,以便创建的每个文件都显示正确的所有者并获得适当的权限。

我确信其中一定有我所遗漏的事物。

答案1

使用multiusermount 选项。这使得 SMB 挂载的工作方式有点像 NFS 挂载,每个用户在访问挂载的共享之前都需要提供自己的凭据。

也就是说,每个用户都需要使用 Kerberos(域帐户)或NTLM(本地 NAS 帐户)kinit进行挂载。cifscreds add

您可以让 PAM 模块在每个用户登录时自动为其执行此操作;Linux AD 设置过程可能已经为您完成了该操作 - 请klist以用户身份进行检查。

(您仍然需要为挂载操作本身指定一些凭据,但它们仅在“root”访问共享时使用,因此如果 Ubuntu 系统加入域,它们可以是机器帐户,或者某些通用的非特权帐户。)

或者:不要使用 fstab 挂载,而是让用户smb://foo/bar通过图形文件管理器进行访问。这本质上是针对每个用户的(它使用 libsmbclient),并以同样的方式支持 Kerberos。

相关内容