linux - Linux 自定义 NSS 模块,`_nss_SERVICE_getspnam_r` 被调用但 `_nss_SERVICE_getpwnam_r` 未被调用
问题描述
我正在创建一个自定义 NSS 模块。我设法让它在我的本地 Redhat 7.3 机器上工作,配置nsswitch.conf
正确
passwd: files SERVICE
shadow: files SERVICE
并确认两者_nss_SERVICE_getpwnam_r
都 _nss_SERVICE_getspnam_r
被调用:
getenv passwd username
getenv shadow username
但是在我将它编译并安装在另一个盒子上之后,也就是 RedHat 7.3,只能_nss_SERVICE_getspnam_r
成功调用。我把log打印出来确保只要glibc进入函数,就会有trace,但是还是不能_nss_SERVICE_getpwnam_r
正常工作。必须有其他一些覆盖nssswitch.conf
的配置不存在吗?这个问题的原因可能是什么?
解决方案
是 nscd 挡道了。它还缓存否定调用。
推荐阅读
- c# - 如何在同一视图中创建“n”个子对象和父对象?
- wpf - 如何强制嵌入在 Expander 中的 WPF TreeView 重新排列大小?
- python - tf.GPUOptions 不适用于 Keras 中的 set_session()
- python - ValueError:输入包含无穷大或对于 dtype('float64') 来说太大的值
- linux - 如果我使用 Linux shell 脚本在文本文件中搜索书名,我想得到一个价格
- python-3.x - 如何为一系列dicom图像添加dicom标签?
- sparql - SPARQL:按值搜索端点
- php - 如何在 PHP 中使用具有参数的函数创建简码
- php - 从数据库中获取特定信息以显示在网站上
- javascript - 当浏览器选项卡未聚焦时,HTML 声音有时不会播放