linux - rundeck - 在作业脚本中切换到 root 用户

标签 linux amazon-ec2 rundeck

通过终端登录我可以很好地切换到 root 用户:

ubuntu@ip-10-0-0-70:~$ sudo -s
root@ip-10-0-0-70:~# whoami
root

所以我在 rundeck 中创建了一个作业脚本:

whoami;
echo "1st step";
sudo -s;
echo "2nd step";

当我运行它时,它会打印:

ubuntu
1st step

打印“第一步”后,它会永远卡住。 sudo -s 命令似乎有问题。

  • 尝试了 sudo -i 但还是一样
  • 尝试了 sudo su - root 但还是一样
  • rundeck 正在以 ubuntu 用户身份登录,我也是

知道在 rundeck 脚本中切换到 root 吗?

最佳答案

这是预期的行为。 您正在通过“sudo -s”运行一个 shell,然后没有离开/退出它!所以它永远等待不会到来的东西。

您可以将“sudo”添加为脚本的高级选项(其中显示“使用解释器或前缀运行脚本。例如:sudo,时间:”)。 但它会以 root 身份运行你的整个脚本。 如果您只想以 root 身份运行特定命令,只需在命令前加上 sudo 即可:

sudo "enter_your_command_to_be_run_as_root_here"

关于linux - rundeck - 在作业脚本中切换到 root 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24288732/

相关文章:

c - 从用户输入获取shell命令并执行C程序

git - 将 GitHub 分支自动部署到 AWS Elastic Beanstalk

chef-infra - Rundeck 和 Chef

rundeck - 通过API触发Rundeck作业

grails - Rundeck更新至3.2

python - 如何通过linux终端向minicom发送文件?

linux - 制作新 Zip 时如何删除 Zip 文件的旧内容

linux - 在 bash 脚本中保持两个进程处于事件状态(并在死亡时重生它们)

apache-spark - 如何在 Amazon EMR、EC2 上为 Breeze 配置高性能 BLAS/LAPACK

amazon-web-services - 超时后无法部署到 AWS Elastic Beanstalk