如何在不使用adduser / useradd的情况下管理linux中的用户

时间:2014-06-15 12:17:58

标签: linux perl

我必须创建一个perl脚本,允许我从Debian添加/删除/修改用户。我已经读过不推荐但我已经被要求在不使用系统调用的情况下执行此操作,因此不允许使用adduser / useradd。此脚本应检查是否已从mysql数据库添加/删除用户,然后将用户添加到系统。也许直接修改etc / passwd?有没有perl模块可以做到这一点?

提前致谢

2 个答案:

答案 0 :(得分:1)

在如今的大多数发行版中,还有一个与/ etc / passwd一起使用的文件/ etc / shadow,因此您很可能还需要在/ etc / shadow中添加一行。此外,您很可能必须为新用户创建主目录和组,以及其他一些步骤。请参阅http://www.tldp.org/LDP/sag/html/adduser.html手动创建新用户所涉及的步骤。

说完以上所有内容之后,我很想知道只需使用从perl脚本调用的useradd会有什么异议。如果它安全地完成(即输入被清理以防止命令行注入攻击),这种方法似乎比通过执行上述所有步骤来编写脚本perl以添加用户更简单且更不容易出错。

答案 1 :(得分:0)

快速CPAN搜索后得到Unix::Passw::File。该模块可用于读取和操作密码文件条目。