グループデータベースの[Succes = return]でnsswitch.confに追加する必要があるもの

グループデータベースの[Succes = return]でnsswitch.confに追加する必要があるもの

GlibC 2.17を使用してCentOSシステムで作業している間、リモートディレクトリでローカルユーザーグループのルックアップを無効にする設定を見つけるのが困難です。

グループルックアップの設計はすべてのディレクトリを検索することですが、追加するとgroup: file [SUCCESS=return]この問題は解決されると思います。

しかし、そうではないようです:(

それから役に立つかもしれないと思いましたが、役に立たinitgroupsないようです。initgroups: files [SUCCESS=return] nis ldap

私のものnsswitch.conf

passwd:     compat ldap
shadow:     files
group:      files nis ldap
hosts:      files dns nis
protocols:  files
rpc:        files
services:   files
initgroups: files [SUCCESS=return] nis ldap

internal_getgrouplistこれはglibc関数のコードスニペットです。

 80   if (__nss_initgroups_database == NULL)
 81     {
 82       if (__nss_database_lookup2 ("initgroups", NULL, "",
 83   &__nss_initgroups_database) < 0)
 84 {
 85   if (__nss_group_database == NULL)
 86     no_more = __nss_database_lookup2 ("group", NULL, DEFAULT_CONFIG,
 87       &__nss_group_database);
 88
 89   __nss_initgroups_database = __nss_group_database;
 90 }
 91       else
 92 use_initgroups_entry = true;
 93     }
...
133       /* For compatibility reason we will continue to look for more
134    entries using the next service even though data has already
135    been found if the nsswitch.conf file contained only a 'groups'
136    line and no 'initgroups' line.  If the latter is available
137    we always respect the status.  This means that the default
138    for successful lookups is to return.  */
139       if ((use_initgroups_entry || status != NSS_STATUS_SUCCESS)
140     && nss_next_action (nip, status) == NSS_ACTION_RETURN)
141    break;
142
143       if (nip->next == NULL)
144   no_more = -1;
145       else
146   nip = nip->next;
147     }

構成を尊重する必要があるようですが、initgroupsそうではありません。 nsswitch.confから完全に削除しようとしましたが、group:成功しませんでした。idローカルユーザーへのコマンドはまだ中断されます。

この問題を解決する方法はありますか?

私の場合、リモートディレクトリポートがブロックされているか、リモートディレクトリの応答が遅い場合は、検索を実行するサービスが完全に中断されました。当社の製品には、エンドユーザーが設定できない基本的なnsswitch.confが付属しています。

グループ検索はこのリモート検索サービスに移動するため、ローカルユーザーもログインできません。

関連情報