Ubuntu:如何创建一个具有 ----disabled-password 的用户并仍然拥有他们 sudo(由于没有密码而失败)

Ubuntu:如何创建一个具有 ----disabled-password 的用户并仍然拥有他们 sudo(由于没有密码而失败)

我正在尝试编写一个 linode stackscript,这是一个 bash 文件,当您构建新映像时,它会以 root 身份运行。它可以提示输入诸如 USER、KEY 以及可能的(但不理想)PASSWORD 等参数。

在脚本中我创建了一个用户“bob”,然后

adduser --disabled-password --gecos "" --shell /bin/bash $USER
adduser $USER sudo 

我们正在创建具有证书但没有密码的用户,该用户一旦通过 SSH 登录,就无法使用 sudo,因为它会提示输入不存在的密码。

我认为这里有两个选项:

  1. 给它一个密码。不幸的是,没有通过参数执行此操作的选项,那么有没有一种方法可以在没有提示的情况下(非交互式)执行此操作?
  2. 修复它,这样鲍勃就不需要输入密码了。

答案1

不要禁用密码,而要创建一个没有密码的用户。

解决方法

adduser --disabled-password --gecos "" --shell /bin/bash $USER usermod -g sudo $USER passwd -d $USER

答案2

我找到了一个解决方案,使用选项 1。我以前没有听说过 chpasswd,但它似乎可以与无人值守脚本一起使用。现在用户有了 sudo 的密码。

添加用户 --disabled-password --gecos "" --shell /bin/bash $USER 添加用户 $USER sudo echo "$USER:$PASS" | sudo chpasswd

相关内容