web-dev-qa-db-ja.com

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であるディレクトリがいくつかあり、それらはvideoグループのメンバーがそれらに書き込むことができるようにg = rwxで構成されています。

[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を停止しても効果はありませんでした。キャッシュの問題ではないようです。

編集:少し期限切れ:

ローカルで定義されたグループは問題なく機能します。これは、/ etc/groupに追加されたLDAPグループにのみ影響するようです。

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
2
BeepDog

名前空間の衝突が発生しています。

デフォルトでは、/etc/nsswitch.confは、最初にファイルを調べ、次に外部ソースを調べるように構成されています。
group: files ldap

これは、/etc/groupのビデオグループがLDAPのビデオグループの前に一致することを意味します。これは、getent group videoを実行することで確認できます。

3
84104