我知道passwd(1)和crypt(3).我正在寻找的是一个要调用的C API,它将在passwd / shadow文件中设置用户的密码,而不必以编程方式遍历文件并覆盖相关用户的条目.应用程序以root身份运行
这样的API是否存在?
编辑:猜猜我应该指定,密码是在不同系统之间同步的,所以我们不能简单地调用system(“passwd”)并允许用户在passwd提示时输入他们想要的任何密码.我们需要知道密码,以便我们可以使用相同的密码以编程方式更新其他系统.
解决方法:
正如8jean上面评论的那样,看起来像/usr/sbin / chpasswd可能是最简单的方法.否则,我已经与noha的评论一起使用fgetpwent()或fgetspent()等函数来处理影子文件 – 走用户列表并修改我需要更改的记录.感谢大家!