Использование [!NOTFOUND=return] в nsswitch.conf
Кто-нибудь сталкивался с использованием этого конфига для passwd и конфигурации групп в nsswitch.conf? Там, где я работаю, мне сказали, что это помогло в ситуациях, когда группа существует как локально, так и в ldap, что вызывало проблемы для членства в группах и т. Д. Однако этот конфиг, кажется, полностью испортил nscd, который будет знать о группах и все их участники, но не будут переворачивать данные, чтобы сказать, что пользователь является членом всех своих удаленных групп.
Изначально кажется, что при полностью доступной среде он точно такой же, как [FOUND=return], который в любом случае является имплицитным по умолчанию между этапами. Однако, по-видимому, длинный билет с Redhat привел к рекомендованному использованию этой конфигурации.
1 ответ
В [FOUND=return]
, FOUND
не существует, поэтому вы получите поведение по умолчанию. Вы можете проверить в функции nss_parse_service_list
определяется в nss/nsswitch.c
(в glibc
хранилище).
Для справки, это поведение:
- успех -> возвращение
- не найдено -> продолжить
- недоступно -> продолжить
- tryagain -> продолжить
Когда вы вводите [!NOTFOUND=return]
он перемещается в:
- успех -> возвращение
- не найдено -> продолжить
- недоступно -> возврат
- tryagain -> возврат
Таким образом, при сбое первого источника из-за недоступности (постоянной или временной), и только в этом случае вы перестанете пользоваться сервисами. Если бэкэнд не выйдет из строя, это не будет иметь никакого значения. Пожалуйста, помните, что такой []
утверждение влияет только на то, что происходит между источником непосредственно перед ним и источником сразу после него, но не далее.
Если Red Hat считает, что в среде, которая не полностью доступна, есть что-то еще, вы можете попросить их объяснить, что это такое, и открыть Запрос о возможностях для Red Hat Enterprise Linux, чтобы правильно определить семантику в их документация.
Так далеко как nsswitch.conf(5)
и мой опыт пошел (и это включает в себя техническую поддержку в Red Hat:), это почти все, что нужно сделать.