Linux 文件 ACL 和次要组

Linux 文件 ACL 和次要组

问题: CentOS 在文件夹或文件上使用 ACL 时似乎不考虑次要组

设想:CentOS 6 基本安装,使用 LDAP 帐户对用户进行身份验证。我正在尝试在某些文件夹上设置相当复杂的权限。我已确保文件系统已安装 ACL 支持,并确定 LDAP 用户能够正确登录。

重现步骤: 作为测试,我有一个简单的文件夹结构。该文件夹test1由 root 拥有并具有 770 个权限,我已向该文件夹添加了另一个组。setfacl -m g:testgroup:rwx test1/该文件夹的 getfacl 输出如下所示:

getfacl: Removing leading '/' from absolute path names
# file: share/test1/
# owner: root
# group: root
user::rwx
group::rwx
group:testgroup:rwx
mask::rwx
other::---

用户andrew属于 domain 组和 testgroup,如图所示groups andrew。组 domain 是用户的主要组。如果用户 andrew 尝试读取 test1 中的任何内容,则会显示权限被拒绝错误。但是,如果将用户的主要组更改为 testgroup,则用户可以与文件夹的内容进行交互。

谁能告诉我这里发生了什么,以及是否有办法获得预期的行为?

编辑这似乎是与 LDAP 相关的问题。我刚刚使用本地用户帐户进行了测试,一切正常。

答案1

正如您所说,这个问题与使用 LDAP 来存储用户信息有关。您的 Centos6 计算机的配置方式与 LDAP 服务器不兼容,因此当它尝试获取用户所属的补充组列表时,它找不到任何内容。

不幸的是,关于如何解释与 POSIX 组相关的 LDAP 属性,有几种标准 - rfc2307、rfc2307bis、IPA

Centos 6 使用 SSSD 来管理与远程目录和身份验证数据库的交互。SSSD 的默认设置是使用 rfc2307。

您可能会发现您的 LDAP 服务器正在使用 rfc2307bis。我们有一个 Centos 5 目录服务器,它默认配置为 rfc2307bis。更复杂的是,我们的 C5 目录使用属性“uniqueMember”或“member”来表示组成员。

要修复此问题,请编辑 /etc/sssd/sssd.conf 并添加以下行:

ldap_schema = rfc2307bis
ldap_group_member = uniqueMember

您可能还想参考以下内容:

答案2

你有没有尝试过看看数字用户所属组的 ID 和目录的 ACL 是什么?尝试将getfacl -n test1列出的组与 的输出进行比较id -G andrew。查看是否存在任何差异并尝试解决它。

相关内容