LDAP组不适用于文件系统权限

系统是ArchLinux,我正在使用nss-pam-ldapd(0.8.13-4)将自己连接到ldap。

相关的configuration文件:

  • /etc/nsswitch.conf中
  • /etc/nslcd.conf

我有我的用户和LDAP中的一些组:

[root@kain tmp]# getent group <localgroups snipped> dkowis:*:10000: mp3s:*:15000:rkowis,dkowis music:*:15002:rkowis,dkowis video:*:15003:transmission,rkowis,dkowis,sickbeard software:*:15004:rkowis,dkowis pictures:*:15005:rkowis,dkowis budget:*:15006:rkowis,dkowis rkowis:*:10001: 

而且我有一些setgid video目录,以便video组保留,并且它们被configuration为g = rwx,以便video组的成员可以写入它们:

 [root@kain video]# ls -ld /srv/video drwxrwxr-x 8 root video 208 Oct 19 20:49 /srv/video 

然而,该组的成员,说dkowis不能写入该目录:

 [root@kain video]# groups dkowis mp3s music video software pictures dkowis 

dkowis所在的组的总数是7,我在这里编辑了一些。

 [dkowis@kain wat]$ cd /srv/video [dkowis@kain video]$ touch something touch: cannot touch 'something': Permission denied [dkowis@kain video]$ groups dkowis mp3s music video software pictures 

我不知道为什么我的团队出现在getent groups ,但我的文件系统权限没有得到尊重。 我已经尝试在/tmp创build一个新的目录,并将它的组权限设置为rwx,然后尝试在其中写入文件,但这不起作用。 唯一的工作是如果我打开它允许o = rwx。 这显然不是我想要的,我无法弄清楚我缺less的东西是什么。

提前致谢。

编辑:停止nscd也没有效果。 它似乎不是一个caching问题。

编辑:一点到期:

本地定义的组工作得很好,这似乎只影响LDAP组,添加到/ etc / group:

 test:x:15007:dkowis mkdir /tmp/wat chgrp test /tmp/wat chmod g+rws /tmp/wat su - dkowis cd /tmp/wat touch something [dkowis@kain wat]$ ls -la total 0 drwxrwsr-x 2 root test 60 Oct 22 11:26 . drwxrwxrwt 8 root root 160 Oct 22 11:26 .. -rw-r--r-- 1 dkowis test 0 Oct 22 11:26 something 

你碰到一个命名空间碰撞。

默认情况下/etc/nsswitch.confconfiguration为首先查看文件,然后查看外部源。
group: files ldap

这意味着来自/etc/group的video组将在ldap中的video组之前匹配。 这可以通过运行getent group video来看到。