samba:从 Windows 客户端更改 unix 组

samba:从 Windows 客户端更改 unix 组

我尝试在 Ubuntu 12.04 上设置一个小型 samba 服务器来共享文件。它似乎运行良好,但有一个权限问题。

所有 Unix 用户的主要组是 group_common。一些用户另外还属于 group_confidential。

对于所有 Unix 用户,都有一个等效的 samba 用户。使用 net groupmap 为两个组设置了组映射。

共享上创建的所有文件和文件夹都应属于用户和主组group_common。

一切都运行良好。

现在有一些机密文件。这些文件应该只有 group_confidential 组中的用户才能访问。

因此,我尝试在 Windows 客户端上删除 group_common 组的权限,并添加 group_confidential 组的权限。删除 group_common 的权限不起作用。当我在 Ubuntu 计算机上更改组时,它工作正常。

所以问题简而言之:是否可以从 Windows 客户端更改 Samba 共享中的文件的 unix 组,或者是否有其他方法可以限制 unix 所有者组的权限,以便无法再从 Windows 客户端访问。或者是否有其他方法来获取机密文件?

提前致谢。

答案1

虽然不是相当同样的情形,并且不从 Windows 端进行更改,这就是我们所做的。同样,它实际上不会有帮助改变权限,但希望它无论如何都能有所帮助。

我们有一个机密文件夹,我们只希望某些用户可以写入,而其他用户可以读取。我们创建了两个组,groupreadgroupwrite。我们chown将文件夹分配给groupread组,并将其分配到组chmod 2770中。然后,我们在其下创建下一个文件夹,其中包含必须限制为只写的数据,以及chown groupwrite文件夹权限chmod 2775,以便只有读取权限的人也可以读取它。

/etc/samba/smb.conf文件中,我们添加了共享声明inherit permissions = yes,并没有做force group任何其他事情,在该份额上。因此,需要访问它以进行读取的用户属于读取组;需要对其进行写入的每个人都属于这两个组。

答案2

这确实很棘手。我最近解决这个问题的方法是使用这个共享属性

force group = <some_group>

然后为每个需要这些权限的文件夹创建完全不同的共享,并且只允许那些应该有权访问该本地组的 AD 组进行连接。这些文件夹中的所有文件在创建时都会获得正确的组设置。

当我可以摆脱它时,我会在 AD 中定义我的所有组,这意味着 Windows 客户端和 Linux 服务器都知道我在说什么。

如果你还没有这样做,我还建议使用集中化以及用于 AD 集成的 Centrify samba 包。

相关内容