использование [!NOTFOUND=return] в nsswitch.conf

Кто-нибудь сталкивался с использованием этого конфига для passwd и groups config в nsswitch.conf? Там, где я работаю, мне сказали, что это помогает в ситуациях, когда группа существует как локально, так и в ldap, что вызывало проблемы с членством в группах и т.д.. Однако эта конфигурация, похоже, полностью портит работу nscd, который будет знать о группах и всех их членах, но не сможет перевернуть данные, чтобы сказать, что пользователь является членом всех удаленных групп.

Изначально, при полностью доступной среде, это кажется точно таким же, как [FOUND=return], который в любом случае является неявным значением по умолчанию между этапами. Однако, по-видимому, в результате длительной переписки с Redhat было рекомендовано использовать эту конфигурацию.

4
задан 15 July 2011 в 11:48
1 ответ

В [FOUND = return] , FOUND не существует, поэтому вы получите поведение по умолчанию. Вы можете проверить функцию nss_parse_service_list , определенную в nss / nsswitch.c (в репозитории glibc ).

Для справки, это поведение:

  • успех -> return
  • notfound -> continue
  • unavail -> continue
  • tryagain -> continue

Когда вы вводите [! NOTFOUND = return] , он перемещается в:

  • успех -> return
  • notfound -> continue
  • unavail -> return
  • tryagain -> return

Итак, при отказе первого источника из-за недоступности (постоянной или временной), и только в в этом случае вы перестанете пользоваться услугами. Если бэкэнд не отказывает, это не будет иметь никакого значения. Также помните, что такой оператор [] влияет только на то, что происходит между источником непосредственно перед ним и источником сразу после него, а не дальше.

Если Red Hat считает, что в среде, которая не полностью доступна, есть что-то еще , вы можете попросить их объяснить, что это такое, и открыть запрос функции для Red Hat Enterprise Linux, чтобы семантика была правильно определена в их документации.

Что касается nsswitch.conf (5) и мой опыт (включая техническую поддержку в Red Hat :), это почти все, что нужно для этого.

4
ответ дан 3 December 2019 в 03:35