Предположим такую ситуацию: имеется некая учётная запись в централизованном LDAP-каталоге. Имеется сервер, на котором работает некий демон, который должен запускаться от имени этой учётной записи или как-то её использовать. При этом демон не позволяет указывать числовой UID/GID, а только имя. Более конкретный пример: smbd и учётка гостевого аккаунта (guest account в smb.conf). Проблема: если LDAP-сервер на момент запуска демона не доступен (нет сети, сервер лежит и т.п.), то демон не сможет определить UID по имени, вывалит ошибку в лог и не стартанёт. После того, как LDAP станет доступен, демона приходится передёргивать руками, что есть страшный костыль.
Возможные варианты решения проблемы, которые мне пришли в голову:
- Передергивать демона по крону. Говнокостыль.
- Написать патч. Но тут не понятно, что именно нужно патчить (какой вариант более правильный):
- Демона на предмет понимания числовых идентификаторов пользователей и групп, чтобы при запуске NSS/LDAP не требовался.
- Запилить поддержку персистентного кеша в «поставщика» NSS (в моём случае - nss-pam-ldapd).
Вопрос: что делать в такой ситуации?