在项目中,有个需求是将某些用户与普通用户的密码分开存放,三权用户存到/etc/sdtmp,普通用户存到默认的/etc/shadow文件,这样的话就需要修改相应的接口支持从/etc/sdtmp文件中获取三权用户的密码。
glibc库中提供了getspnam、getspent等相关的函数,这些函数默认是去/etc/shadow文件中读取struct spwd结构,所以需要增加getsptmpnam以及getsptmpent等相关的接口去/etc/sdtmp文件中读取struct spwd结构。
增加接口的C文件后,将接口添加到相应的头文件,编译安装glibc。之后,编写个简单的C程序实验发现新增接口无法使用,说明接口没有添加成功。
上网查了一下,还要修改Versions文件和sysdeps/unix/sysv/linux/x86_64/x64/nptl/libc.abilist文件,将增加的接口添加到这些文件里,编译安装glibc就可以使用增加的接口了。
FEATURED TAGS
Linux
驱动
CentOS
Glibc
PAM
ukey
Makefile
autoconf
automake
shadow
yum
Dbus
SELinux
SEAndroid
eCryptfs
备份数据/修复系统
DeepLeaning
AI
IPFS
区块链
Object Detective
Multi Object Tracker
Transformer
TPM
可信计算
remoteattest
远程证明
IMA
完整性度量
Object Detection
Object Classification
Hermes Agent
Ollama
Colima
Docker
Apple Silicon
Local LLM
评论与讨论
LET’S TALK有问题或新的想法?欢迎交流。使用 GitHub 账号登录后即可留言,支持 Markdown。
评论将在滚动到这里时加载。
在 GitHub 查看讨论 ↗