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

Vis*_*lvi 11 password users passwd-file

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

Lek*_*eyn 19

不建议手动修改/etc/passwd/etc/shadow/etc/group否则/etc/gshadow有破损风险。如果您正在寻找更易于使用的替代命令,请查看adduser(8). 你所要做的就是:

sudo adduser user
Run Code Online (Sandbox Code Playgroud)

/bin/bash默认情况下,外壳将是per /etc/adduser.conf.

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

sudo useradd --create-home --shell /bin/bash --user-group user
Run Code Online (Sandbox Code Playgroud)

此命令基本上是确定一个空闲的用户 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
Run Code Online (Sandbox Code Playgroud)

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

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

  • @m59 `>>` 尝试以当前(非 root)用户身份打开文件,该用户将因权限被拒绝错误而失败。使用 `sudo tee` 绕过了这一点。或者,您可以将命令包装在 `sudo sh -c '...'` 中以避免该问题。 (2认同)