У меня есть собственный модуль NSS, который я написал, и я обычно устанавливаю его, копируя библиотеку вот так ...
cp libnss_mymodule.so.0 /lib64/
... затем я добавляю свой модуль в /etc/nsswitch.conf . ..
$ grep mymodule /etc/nsswitch.conf
passwd: mymodule files usrfiles sss systemd
group: mymodule files usrfiles sss systemd
У меня это работает в CentOS 7, но не работает в CoreOS, потому что / lib64 находится в файловой системе только для чтения. Где я могу разместить библиотеку общих объектов в CoreOS, которая будет видна nsdispath ()?
РЕДАКТИРОВАТЬ: Я попытался добавить файл в / opt / me / lib64 и поместить его в переменную среды LD_LIBRARY_PATH . Похоже, это не помогло.
Я заставил его работать, поставив библиотеки /opt/mything/lib64, а затем модифицировав следующие системные конфигурации:
Добавил следующую строку в /etc/environment:
LD_LIBRARY_PATH=/opt/mything/lib64
Добавил следующую строку в /etc/systemd/system. conf:
DefaultEnvironment=LD_LIBRARY_PATH=/opt/mything/lib64
Затем выполнили следующую команду:
sudo systemctl daemon-reload
Это позволило NSS найти пользовательские модули NSS, которые я собрал.
.Создайте новый образ, содержащий ваши изменения, с помощью SDK разработчика.
CoreOS называет себя неизменным; это сделано намеренно.