gpt4 book ai didi

linux - chgrp 和链接库

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:08 24 4
gpt4 key购买 nike

根据/bin/chgrp 上的 ldd linux 命令,执行该命令所需的唯一库是 libc.so。当使用 gdb 调试 chgrp 时,我注意到实际上加载了其他库,例如:

/lib/x86_64-linux-gnu/libnss_compat.so.2
/lib/x86_64-linux-gnu/libnsl.so.1
/lib/x86_64-linux-gnu/libnss_nis.so.2
/lib/x86_64-linux-gnu/libnss_files.so.2

为什么这些库不在 ldd 输出中进行比较?

此外:它们不在 libc.so 的 DYNAMIC 部分进行比较,它们是如何定位和加载的? (我已经用 readelf 检查了 libc.so 的 DYNAMIC 部分,但这些库不存在)

最佳答案

各种libnss库由libc动态加载,通过dlopen , 当你运行程序时。加载哪些库由 /etc/nsswitch.conf 的内容决定。查看Name Service Switch documentation了解更多详情。

关于linux - chgrp 和链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31106735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com