是否可以在没有 useradd 命令的情况下在 ubuntu linux 中添加用户?我认为可以通过添加条目来实现,/etc/passwd and /etc/shadow
但我不知道具体步骤,并且用户也应该获得其主目录和 bash shell。
答案1
不建议手动修改/etc/passwd
、或/etc/shadow
,因为存在损坏风险。如果您正在寻找更易于使用的替代命令,请查看/etc/group
/etc/gshadow
adduser(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 文件中为用户主目录中的用户添加骨架,而用户主目录必须在主目录中创建。