标题说明了一切,但为了表明我做了研究,我会说我昨天花了将近半天的时间来寻找这个问题的答案。
我曾经看到过一个页面,其中暗示 system-auth 正在被使用useradd
,但是除了这句话之外,我没有看到任何令人信服的东西。
当然,我可以使用 PAM 通过程序来验证给定的用户pam_start( "system-auth" ) ;
,但如何添加用户呢?
如果我不仅想使用 Active Directory 或 LDAP 访问我的 Linux 服务器,还想从该 Linux 服务器主动添加新用户(以 root 身份),该怎么办?
简单可行吗useradd jerry
?它如何知道将 jerry 添加到 LDAP 而不是 /etc/passwd 和 /etc/shadow?
最好的是参考一篇我可以阅读的文章,而不是意见“我认为 system-auth 很好”或“你应该使用 passwd 服务名称”
提前谢谢你!——格雷格。
答案1
useradd 使用什么 PAM 服务名称?
它根本不使用 PAM 来查找系统身份验证服务。它使用 PAM 的唯一目的是对调用的用户useradd
(而不是正在创建的用户帐户)进行身份验证。并且只有在编译为使用 setuid 和 PAM 时才会发生这种情况。
添加用户怎么样
PAM 不涉及用户或组管理(尽管名称具有误导性pam_acct_mgmt
),只涉及身份验证。
如果我想使用 Active Domain,该怎么办
假设您指的是 Active Directory,它使用 LDAP 和 Kerberos 的组合,但 PAM 与 Kerberos 配合不佳。
或 LDAP
您必须使用ldapadd
或其他一些 LDAP 感知工具。
最好能引用一篇我可以读的文章
我可以给你源代码至少。从src/useradd.c
您可以跟踪对 的调用pw_update
,该调用在 中定义lib/pwio.c
,并看到全局passwd_db
配置了宏PASSWD_FILE
,该宏在 中默认为lib/defines.h
。/etc/passwd
有类似的代码路径将其连接到/etc/shadow
、/etc/group
和/etc/gshadow
。