如何不使用useradd命令添加用户?


11

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

Answers:


19

它不建议手动修改/etc/passwd/etc/shadow/etc/group/etc/gshadow由于破损的风险。如果您正在寻找更易于使用的替代命令,请查看adduser(8)。您只需要运行:

sudo adduser user

/bin/bash默认情况下,shell是per /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

..从而可能备份文件。

有关文件格式的下一个手册页可能会让您感兴趣:


嗨,Lekensteyn,您是否错过了他们帖子的第一部分?“是否有可能在没有useradd命令的情况下在ubuntu linux中添加用户...”他们想要一个没有useradd的解决方案:/
Thomas Ward

1
@TheEvilPhoenix:我以为他是在询问的替代方案adduser。我现在已经包括在内adduser。确实是“没有useradd” :)
Lekensteyn 2011年

没问题,想指出的就是全部。并原谅我是半对抗性的...长期,糟糕的日子在级联服务器故障下工作确实对您造成了...
Thomas Ward

@All我想通过在/ etc / passwd和/ etc / shadow中添加可能的条目来创建没有useradd的用户
mr_eclair

2
@ m59 >>尝试以当前(非root)用户身份打开文件,该文件将失败,并显示PermissionPermission错误。使用sudo tee绕过。或者,您可以将命令包装在中sudo sh -c '...'以避免该问题。
Lekensteyn '16

1

尽管通常没有必要或不建议使用,但如何使用不使用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的各种样式工作)


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.