如何在没有 useradd 命令的情况下添加用户?

如何在没有 useradd 命令的情况下添加用户?

是否可以在没有 useradd 命令的情况下在 ubuntu linux 中添加用户?我认为可以通过添加条目来实现,/etc/passwd and /etc/shadow但我不知道具体步骤,并且用户也应该获得其主目录和 bash shell。

答案1

不建议手动修改/etc/passwd、或/etc/shadow,因为存在损坏风险。如果您正在寻找更易于使用的替代命令,请查看/etc/group/etc/gshadowadduser(8)。您需要运行的是:

sudo adduser user

该 shell 默认/bin/bash/etc/adduser.conf

通常,如果您希望使用 bash shell 添加用户,从而创建主目录/home/user和用户组,您可以使用:

sudo useradd --create-home --shell /bin/bash --user-group user

此命令基本上确定一个免费的用户 ID$UID和组 ID $GID,然后执行下一个命令:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

..从而可能对文件进行备份。

您可能会对以下有关文件格式的手册页感兴趣:

答案2

虽然通常不需要或推荐,但这个问题的答案如何在不使用 useradd 命令的情况下添加用户是使用sudo vipw

这将在锁定 passwd 文件的同时启动系统定义的编辑器。为新用户输入一行。(在 vi 中,按 shift-G 转到最后一行,然后按 yy p 复制它。)编辑用户名并创建唯一的用户 ID 号。

保存文件并退出编辑器后,系统将提示您编辑 /etc/shadow。使用相同的技术创建新行并使用“*”作为密码哈希。新帐户已被锁定。使用passwd username解锁并设置密码。

还需要创建主目录、从骨架目录复制文件、设置组权限等。但它vipw是您的主要资源。另请参阅vigr

来源:http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/(是的,这些命令适用于各种 *nix)

答案3

当在系统中创建用户时,它会影响 /etc/passed 、 /etc/group 、 /etc/shadow 等文件,因此请浏览这些文件并进行手动输入。最后从 /etc/skel 文件中为用户主目录中的用户添加骨架,而用户主目录必须在主目录中创建。

相关内容