在脚本中创建一个没有提示输入密码的sudo用户,在不中断脚本的情况下更改为用户

时间:2017-05-08 17:12:58

标签: linux bash scripting

这就是我在脚本中尝试做的事情。它在这里手动工作,但提示我输入密码。我如何:

  1. 创建新用户
  2. 使用sudo privs
  3. 切换到该用户
  4. 继续执行脚本的其余部分

    sudo adduser centos
    sudo passwd centos
    usermod -aG wheel centos
    sudo su centos
    
  5. 我试过以下但是在Centos 7 bash中, - disable-password和-gecos都说“找不到选项。”

    adduser --disabled-password --gecos "" username
    

1 个答案:

答案 0 :(得分:0)

您不需要sudo su centos,因为您的脚本会被终端中断。 如果以下命令实际上是“./install.sh”(例如)必须由“centos”用户启动,那么您可以进行以下修改:

sudo adduser centos
sudo passwd centos
usermod -aG wheel centos
sudo su - centos -c ./install.sh
sudo su - centos -c ./install_another.sh

sudo su - centos -c "./install_more.sh ; cd /tmp ; ./install_almostlast.sh"

sudo su - centos -c bash -c "cd /somewhere; ./install_more.sh
        cp /tmp/files /somewhere
        ./install_last.sh
        rm /tmp/install.sh"

在双引号之间,您可以根据需要编写完整的脚本,并注意内容和引用。