通过终端登录我可以很好地切换到 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/