我知道 passwd(1)
和 crypt(3)
。我正在寻找的是要调用的 C API,它将在 passwd/shadow 文件中设置用户密码,而无需以编程方式遍历文件并覆盖相关用户的条目。应用程序以根用户身份运行。
是否存在这样的 API?
编辑:我猜我应该指定,密码在不同系统之间同步,所以我们不能简单地调用 system("passwd") 并允许用户在 passwd 提示时输入他们想要的任何密码。我们需要知道密码,以便我们可以使用相同的密码以编程方式更新其他系统。
最佳答案
正如 8jean 上面评论的那样,看起来/usr/sbin/chpasswd 可能是最简单的方法。否则我会接受 noha 的评论,即使用 fgetpwent() 或 fgetspent() 等函数来处理影子文件——遍历用户列表并修改我需要更改的记录。谢谢大家!
关于linux - 我调用什么 API 来在 Linux 上设置用户密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799325/