Назад | Перейти на главную страницу

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

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

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

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

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

  • успех -> возврат
  • notfound -> продолжить
  • unavail -> продолжить
  • попробуйте снова -> продолжить

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

  • успех -> возврат
  • notfound -> продолжить
  • недоступен -> вернуться
  • попытаться снова -> вернуться

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

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

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