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

标签 linux perl

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

提前致谢

最佳答案

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

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

关于linux - 如何在不使用 adduser/useradd 的情况下在 linux 中管理用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24229506/

相关文章:

c - 为什么我的 shell 在终止进程后打印不正确?

加载共享库时出现 Linux 错误 : cannot open shared object file: No such file or directory

linux - Shell脚本中的杀进程

arrays - <> 生成的数组大小?

Bash 配置文件从 Perl 脚本获取时抛出错误

perl - 标量上的实验键现在被禁止警告

linux - 写入端口 0cf8h 失败并出现段错误

linux - if 语句的计算结果始终为 TRUE

perl - 如何使用 IPC::Run 回答 rsync 密码提示?

perl - 安装 perl 模块 Bio::Perl 的问题