首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >保护/etc/passwd和/etc/shadow免受并发访问

保护/etc/passwd和/etc/shadow免受并发访问
EN

Stack Overflow用户
提问于 2010-02-26 08:50:12
回答 1查看 625关注 0票数 4

如何保护/etc/passwd和/etc/shadow免受并发访问?我在pwd.h中看不到任何锁定机制。我看到pwd_mkdb的手册提到了获取锁,但它只是锁定文件以进行独占访问吗?

如果我要编写一个实用程序来直接修改这些文件,或者通过get/set/endpwent系列函数来修改这些文件,是否有一种锁定这些文件的约定?

EN

回答 1

Stack Overflow用户

发布于 2010-02-26 09:42:03

我认为现在大多数应用程序都在使用PAM,不是吗?http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/Linux-PAM_ADG.html。也就是说,你可以看看`pam_unix.so的源代码,看看他们是怎么做的。我在pam_unix_passwd.c中查找,并遵循了以下内容:

代码语言:javascript
运行
复制
/* update the password database(s) -- race conditions..? */

retval = unix_update_db(pamh, ctrl, user, pass_old, pass_new);

here,它有很多函数前缀‘`pwdb’。谷歌再次显示this,我认为它是passwd的来源。

因此,我认为编辑这些文件是由libpwdb处理的。当然,我认为包括:

代码语言:javascript
运行
复制
#include <pwdb/pwdb_public.h>
#include <pwdb/pwdb_shadow.h>

但是到目前为止find . -name "*pwdb*" 2>/dev/null还没有在我的系统上找到任何东西。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2338794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档