Справка по SSSD sss_cache 8 sss_cache выполнить очистку кэша sss_cache options ОПИСАНИЕ sss_cache объявляет недействительными записи в кэше SSSD. Объявленные недействительными записи принудительно повторно загружаются с сервера, как только соответствующий внутренний сервер SSSD появляется в сети. Параметры, объявляющие недействительность одного объекта, принимают только один предоставленный аргумент. ОПЦИИ , Объявить недействительными все кэшированные записи. , login Объявить недействительным определённого пользователя. , Объявить недействительными все записи пользователей. Этот параметр имеет приоритет над параметром, который объявляет недействительным определённого пользователя, если он также был задан. , group Объявить недействительной определённую группу. , Объявить недействительными все записи групп. Этот параметр имеет приоритет над параметром, который объявляет недействительной определённую группу, если он также был задан. , netgroup Объявить недействительной определённую сетевую группу. , Объявить недействительными все записи сетевых групп. Этот параметр имеет приоритет над параметром, который объявляет недействительной определённую сетевую группу, если он также был задан. , service Объявить недействительной определённую службу. , Объявить недействительными все записи служб. Этот параметр имеет приоритет над параметром, который объявляет недействительной определённую службу, если он также был задан. , autofs-map Объявить недействительной определённую карту autofs. , Объявить недействительными все карты autofs. Этот параметр имеет приоритет над параметром, который объявляет недействительной определённую карту autofs, если он также был задан. , hostname Объявить недействительными открытые ключи SSH определённого узла. , Объявить недействительными открытые ключи SSH всех узлов. Этот параметр имеет приоритет над параметром, который объявляет недействительными открытые ключи SSH определённого узла, если он также был задан. , rule Объявить недействительным определённое правило sudo. , Объявить недействительными все кэшированные правила sudo. Этот параметр имеет приоритет над параметром, который объявляет недействительным определённое правило sudo, если он также был задан. , domain Ограничить процесс объявления недействительности определённым доменом. ВЛИЯНИЕ НА КЭШ В СВЕРХОПЕРАТИВНОЙ ПАМЯТИ sss_cache также объявляет недействительным кэш в памяти. Так как кэш в памяти является файлом, который сопоставляется с памятью каждого процесса, который вызывал SSSD для разрешения пользователей или групп, этот файл не может быть усечён. В заголовке файла указывается специальный флаг, который обозначает недействительность содержимого, и затем ответчик NSS SSSD выполняет отмену связи этого файла, после чего создаётся новый файл кэша. Теперь, когда процесс выполняет новый поиск пользователя или группы, он видит флаг, закрывает старый файл кэша в памяти и сопоставляет со своей памятью новый файл. Когда все процессы, которые открывали старый файл кэша в памяти, закроют его при поиске пользователя или группы, ядро сможет освободить занятое пространство на диске и старый файл кэша в памяти будет полностью удалён. Особый случай представляют длительно выполняемые процессы, которые осуществляют поиск пользователей или групп только при запуске (например, чтобы определить имя пользователя, от имени которого запущен процесс). Для такого поиска файл кэша в памяти сопоставляется с памятью процесса. Но, так как дальнейшего поиска не будет, этот процесс никогда не определит, был ли объявлен недействительным файл кэша в памяти, и поэтому он будет оставлен в памяти и будет занимать пространство на диске до тех пор, пока процесс не остановится. Следовательно, вызов sss_cache может увеличить использование места на диске, потому что старые файлы кэша в памяти не могут быть удалены с диска, так как они всё ещё сопоставляются длительно выполняемыми процессами. Чтобы обойти эту проблему для длительно выполняемых процессов, которые выполняют поиск пользователей и групп только при запуске или очень редко, можно запускать их с переменной среды SSS_NSS_USE_MEMCACHE, установленной в значение «NO»: в этом случае они вообще не будут использовать кэш в памяти и не будут сопоставлять файл кэша в памяти с памятью. В целом, лучшим решением проблемы будет настроить параметры тайм-аута кэша таким образом, чтобы они соответствовали локальным ожиданиям и не требовался вызов sss_cache.