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

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

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

相关配置文件:

我在 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以便视频组保留,并且它们配置为 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并将其组权限设置为 rwx,然后尝试在其中写入文件,但不起作用。唯一起作用的情况是,如果我将其完全打开并允许 o=rwx。这显然不是我想要的,我无法弄清楚我缺少的部分是什么。

提前致谢。

编辑:停止 nscd 也没有任何效果。这似乎不是缓存问题。

编辑:有一点实验性:

本地定义的组工作正常,这似乎只影响 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

答案1

您正遇到命名空间冲突。

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

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

相关内容