我遇到OpenLdap和文件权限问题。
首先 - 我在slapd.conf中设置了这个:
overlay dynlist
dynlist-attrset labeledURIObject labeledURI
第二 - 我用cn = test,ou = Projects,dc = example,dc = com with:
dn: cn=test,ou=Projects,dc=example,dc=com
gidNumber: 6789
objectClass: posixGroup
objectClass: top
objectClass: labeledURIObject
labeledURI: ldap:///cn=testgroup,ou=Groups,dc=example,dc=com?memberUid?sub?
(objectClass=posixGroup)
memberUid: user1 (dynamic)
memberUid: user2 (dynamic)
在cn=testgroup,ou=Groups,dc=example,dc=com
我有memberuid:user1和memberUid:user2
第三 - 当我进行getent组测试时,我有:
test:*:6789:user1,user2
但是当我尝试id user1时,我没有看到这个组:(
然后我设置chmod 770 dir
和chown root.test dir
并尝试访问此目录。
但当然这是不可能的,因为用户不在这个群组中(即“id”)。
有谁知道解决方案?
答案 0 :(得分:1)
第三 - 当我进行getent组测试时,我有:
试验:*:6789:用户1,用户2
但是当我尝试id user1时,我没有看到这个组:(
不幸的是,动态列表( dynlists )是单向组(不是TWO方式)。这意味着反向查找将不起作用,这会导致您现在面临的问题。无法使反向posix组查找与 dynlist 一起使用。
但是,我相信OpenLDAP网站上还有另一个可用的模块。它被称为 autogroup 。这是一个静态组维护者模块。这种分组方法不涉及动态数据,而是由 autogroup 模块自动管理的REAL数据。但是,它配置类似于 dynlist 组,因为它使用 labeledURI 属性来允许“存储过程”。
当我意识到 dynlist 的缺点时,我也很失望,我应该指出 autogroup 仍然有点实验性。彻底测试并向OpenLDAP报告任何错误。
我希望这会有所帮助......
最高
答案 1 :(得分:0)
这里以不memberUid
的方式构建群组,但member
:
dn: cn=mygroup,ou=groups,o=company
objectClass: posixGroup
objectClass: top
objectClass: groupOfNames
cn: mygroup
member: uid=user1,ou=users,o=company
displayName: mygroup
gidNumber: 1234
架构类型也应设置为RFC2307bis(ldap_schema = rfc2307bis
中的sssd.conf
)。
答案 2 :(得分:0)
对于第3个问题,问题是id将使用带有(member = uid = login,...)的ldap请求,而getent group将搜索组(cn = groupname)。所以第二个触发叠加,而第一个不触发(参见手册页)。我也遇到了这个问题,并找到了一些关于它的链接: http://www.openldap.org/lists/openldap-software/200708/msg00250.html和http://www.openldap.org/lists/openldap-devel/200708/msg00127.html。
到目前为止,我没有找到任何好的解决方案,也许改变nss_ldap会起作用(如果你使用它,你没有解释)