从应用程序创建Unix用户

时间:2013-03-06 18:25:59

标签: c unix solaris user-accounts libc

我正在开发一个与更大的维护应用程序绑定的本土用户数据库。

这个想法已经浮出水面,将我们的用户与系统用户联系起来,每次在我们的程序中生成新用户时都会创建匹配的/ etc / passwd条目。其他交互,例如查询用户名的uid / gid,反之亦然,验证文件系统所有权等。我们已经定义了标准字段,如user.uid,user.gid,user.home,内部权限等,只需要一个将这些传递给系统的方法。

麻烦的是,在线搜索任何信息都是大海捞针场景中的一针 - 我无法为用户帐号获取者和制定者找到任何标准库,我开始怀疑这些是否存在?这是对spawnv useradd的正确方法吗?似乎必须有更好的方法!

请注意,正在运行的系统是单次使用(虚拟化),用于所有意图和目的。

最终编辑:事实证明,最经济的解决方案是:

useradd -g group -c "firstname lastname" -d /export/home/username -m -s /bin/bash username

2 个答案:

答案 0 :(得分:2)

useradd您要找的是什么?

useradd -g group -c "firstname lastname" -d /export/home/username -s /bin/ksh username
mkdir -p /export/home/username
chown username /export/home/username

答案 1 :(得分:2)

您可以将程序变为NIS。无法帮助你实际做到这一点,但可能值得为你寻找。

补充:您也可以使用ldap。

但是这两者中的任何一个都意味着你只需要让数据库保持最新状态。 passwd会照顾好自己