Coreos

在 CoreOS 上哪里安裝 NSS 模組?

  • May 7, 2019

我有一個我編寫的自定義 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**位於只讀文件系統上。我可以將共享對像庫放在對 nsdispath() 可見的 CoreOS 上的什麼位置?

編輯:我嘗試將文件添加到**/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 稱自己是不可變的;這是設計使然。

引用自:https://serverfault.com/questions/962841